4.3:出现次数超过一半的数字 解法3 结论错误
kissghosts opened this issue · comments
Yanhe commented
解法三“每次删除两个不同的数”的思路是可行的,即使对于作者目前给出的反例{5, 5, 5, 5, 1},不过要在每次删除时进行判断,如果无法找到两个不同的数,那说明当前剩余元素全部相同,返回这个元素值即可。
比如对于序列{5, 5, 5, 5, 1},每次分别从数组两端尝试各删除一个数(左边删除5, 右边删除1,两个数不相同),之后剩余{5, 5, 5},这时无法找到两个不同的数进行删除,说明剩余元素全部相同,返回5作为结果即可!
July commented
赞
对于序列{5, 5, 5, 5, 1},每次分别从数组两端尝试各删除一个数,貌似的确可以。
不过,顺带,解法四中的阐述是不是更好,虽然方法差不多
Yanhe commented
对,解法四确实更高效一些,不过两种方法的基本思路其实是一样的 :)