找出数组中出现次数超过数组长度一半(>=1/2 >1/3)的那个数
来源:互联网
关于后面两个问题,昨天跟室友讨论了下,>=1/2的情况,因为>1/2的情况已经解决,我们考虑=1/2的情况。我们可以首先以数组第一个元素为基准点,遍历数组(相同的加1)最后判断是不是我们要找的点,存在两种情况是或者不是,是的话直接结束了,不是的话从指针从第二个元素开始,即不考虑第一个元素了,这样我在剩下的数组里面,原来等于1/2的情况的点现在肯定大于1/2了,就又转化为>1/2的问题了,算法的时间复杂度O(n)关于后面两个问题,昨天跟室友讨论了下,>=1/2的情况,因为>1/2的情况已经解决,我们