1、删除数组中重复数组,如果是已经排序的数组,引用变量index=0;i从1数组第二个数开始遍历,比较nums[i]!=nums[index],nums[index++]=nums[i]。
2、删除已经排序数组中超过N次重复数组,类似引用变量index=N-1,和上面类似。
3、找出数组中重复最多的值,可以使用hash表,用map。map[a[i]]=count即可,找到最大即可。
4、大数据数组N中找到最大的m个数,方法1:堆排序m个最小堆,如果后面值比m的最小堆头部大,加入到堆里面,调整堆。方法2:快速排序的部分,找一个数把数组中的值隔开头,二分找到最大m;
5、找到数组中元素个数超过一半的元素1:partition()函数,找到中间值。2:某个数的次数超过所有其他的数,result=nums[i],times累计。那么times累加相同元素,times累减不同的元素,times等于0重新数组新元素赋值给变量。
6、旋转数组中最小的数字,已排序,根据二分查找和比较。