题目
数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。
你可以假设数组是非空的,并且给定的数组总是存在多数元素。
思考
1、我想到的最简单的方法就是遍历,然后配合hash(key-值,value,为次数)进行操作
2、看了评论,直接来一个卧槽,没想到。超过一半排序后该值一定在中间
代码和注释
// hash+遍历,这里就不赘述了
// 评论中的卧槽想法
public int majorityElement(int[] nums) {
Arrays.sort(nums);
return nums[nums.length/2];
}
总结
1、思维还是开阔啊,都是大哥
2、我是普通人,就要多刷题
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/96150.html