这篇文章将为大家详细讲解有关LeetCode如何求数组中出现次数超过一半的数字,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
0x01,问题简述
数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。你可以假设数组是非空的,并且给定的数组总是存在多数元素。
0x02,示例
示例 1:
输入: [1, 2, 3, 2, 2, 2, 5, 4, 2]
输出: 2
限制:
1 <= 数组长度 <= 50000
0x03,问个问题,给个题解思路撒
其实这题如果你经常做的话,你会下意识的想到使用键值对集合HashMap来做,其通俗易懂的理解,有木有?其实也可以先排序Arrays.sort(),直接取中位数,怎么样?本题就是利用这两种方式来解答的。
0x04, 不要做一看就会,一做就跪的boy/girl,手动滑稽
其实我当时做算法题时,是持有抵触情绪的,因为我不会,就是这三个字,导致了自己中途放弃了很多,各种纠结,各种难受,但过往的路程只有自己明白,所以自己开始动手做了,就这样我也输出了100篇题解的leetcode文章了,慢一点,才能更快,98道leetcode
0x05,题解程序图片版,看完之后自己动手操作一下更好
关于“LeetCode如何求数组中出现次数超过一半的数字”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。
原创文章,作者:bd101bd101,如若转载,请注明出处:https://blog.ytso.com/223710.html