面试算法之数组问题

如何写出正确的程序?(参照二分查找的代码)

明确变量的含义;
循环不变量;
小数据量调试;
大数据量测试。

leetcode 283 movezeros

定义:k,数组中,[0,k)的元素均为非0元素。

leetcode 26 remove duplicated from sorted array

leetcode 75 sort colors

没有思路时,可以先使用任意一种排序算法,以先解决问题为目的
计数排序:分别统计0.1.2的个数(适用于类别特别少的)
三向快速排序:定义清楚索引的意义

215 Kth largest element in an array

这个问题用快速排序解决很经典

167 two sum II

利用有序:二分查找
对撞指针:一前一后直至对撞

双索引技术:

对撞指针
滑动窗口(参考leetcode209,3,438,76)

** 子数组需要明确是连续的还是不连续

显示 Gitment 评论