第21,22章:出现次数超过一半的数字,最短摘要的生成
《编程之美》寻找Tango水王(100题第74题)
1.hash表:查找时间复杂度O(1) - 事先预处理时间复杂度O(N)
需要O(N)的开销空间,且要设计hash函数
2.最佳方法:每次删除两个不同的数
3.保存两个值:一个是数组中数字,一个是次数
遍历,相同则次数加1,不同则次数减1
如果次数为0,则保存下一个数字
《编程之美》寻找Tango水王(100题第74题)
1.hash表:查找时间复杂度O(1) - 事先预处理时间复杂度O(N)
需要O(N)的开销空间,且要设计hash函数
2.最佳方法:每次删除两个不同的数
3.保存两个值:一个是数组中数字,一个是次数
遍历,相同则次数加1,不同则次数减1
如果次数为0,则保存下一个数字