昨天第一次参加这种海笔,之前找实习的时候都是被关在一个小黑屋里孤独的写代码,有点小不适应。
啥都不说了,直接上大题。
求一个数列中,逆序对的个数,要求算法的时间复杂度为O(nlogn)。
O(n2 )的算法就不说了。
拿到这题,第一反应就是先将所有数快排序,然后拷贝到另一个数组中去,用原数组的数据做索引,二分查并删除找到的元素,返回这个元素之前的元素个数。后来写到一半的时候,发现这不就是二叉排序树么。。哎,不过写了就写了,就当是练兵吧。
另外还考了图论,位运算,前缀后缀表达式,二叉树等。
本文介绍了一种求解逆序对数量的高效算法,采用快排加二分搜索的方法实现O(nlogn)的时间复杂度。此外还讨论了图论、位运算等计算机科学主题。
昨天第一次参加这种海笔,之前找实习的时候都是被关在一个小黑屋里孤独的写代码,有点小不适应。
啥都不说了,直接上大题。
求一个数列中,逆序对的个数,要求算法的时间复杂度为O(nlogn)。
O(n2 )的算法就不说了。
拿到这题,第一反应就是先将所有数快排序,然后拷贝到另一个数组中去,用原数组的数据做索引,二分查并删除找到的元素,返回这个元素之前的元素个数。后来写到一半的时候,发现这不就是二叉排序树么。。哎,不过写了就写了,就当是练兵吧。
另外还考了图论,位运算,前缀后缀表达式,二叉树等。
937

被折叠的 条评论
为什么被折叠?