数组的奇偶调序问题,主要考察的是对数组下标或者数组指针的灵活操作。“双下标”策略或者“双指针”策略是屡试不爽的一个方案。
奇偶调序无非有两大类情况:奇偶边排,奇偶混排。
所谓“奇偶边排”,就是奇数排在一边,偶数排在一边。比如说我们让奇数都调整到偶数的前面。
我们可以维护两个i...
fireling
9年前 (2015-11-06) 6946℃ 0评论
2喜欢
总结两道面试题:
题目1:在n个数中寻找第k大的数
具体思路如下:
使用选择或冒泡法,排出前k个数,然后选择第k个数,时间复杂度为O(kn)
使用快速排序,将n个数排序,然后选择第k个数,时间复杂度为O(nlogn)
使用长度为k的数组存储前面k个数,然后排序,时间复杂度为O...
fireling
9年前 (2015-10-21) 7708℃ 0评论
3喜欢
常见的几种排序算法,包括冒泡排序、选择排序、插入排序、快速排序、归并排序、希尔排序和堆排序,冒泡排序、选择排序和插入排序的时间复杂度为O(n^2),希尔排序的时间复杂度为O(n^1.25),快速排序、归并排序和堆排序的时间复杂度为O(nlog2(n))。
列出几种算法的代码实现:...
fireling
9年前 (2015-09-22) 6495℃ 0评论
5喜欢