
【Java】寻找数组中“主要元素”
发布日期:2021-05-08 21:34:26
浏览次数:14
分类:精选文章
本文共 821 字,大约阅读时间需要 2 分钟。
来自力扣(LeetCode)
寻找数组中主要元素
题目描述
数组中占比超过一半的元素称为“主要元素”,也就是说,数组某个元素出现的次数大于数组长度的一半,该元素可称为主要元素。给定一个整型数组,找到它的主要元素,如果没有则返回-1。
解决思路
双指针法
画图示意一下!
实现代码
public static int majorElement(int[] arr){ Arrays.sort(arr); //对无序数组进行排序(升序) //对于此题而言,把握好i和j的边界非常关键 for (int i = 0; i <= arr.length/2; i++) { for (int j = arr.length/2+i; j < arr.length; j++) { //判断i下标和j下标值是否相等,如果相等直接返回该值 if(arr[i] == arr[j]){ return arr[i]; //返回该值,return arr[j]也是可以的 } } } return -1; //如果没有找到,返回-1 } public static void main(String[] args) { int[] arr1 = { 4,3,3,8,8,3,8,10,3,3,3}; System.out.println("数组中的主要元素为: "+majorElement(arr1)); }}
运行结果如下:

发表评论
最新留言
路过按个爪印,很不错,赞一个!
[***.219.124.196]2025年03月22日 04时56分08秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
Python处理接口测试的签名
2021-05-09
测试流程规范--测试报告模板
2021-05-09
Linux上TCP的几个内核参数调优
2021-05-09
记一次讲故事机器人的开发-我有故事,让机器人来读
2021-05-09
高德算法工程一体化实践和思考
2021-05-09
判断一个数是否是2的幂
2021-05-09
js 闭包(新)
2021-05-09
vscode 编辑python 如何格式化
2021-05-09
seo 回忆录百度基本概念(一)
2021-05-09
重新整理数据结构与算法(c#)—— 算法套路二分法[二十四]
2021-05-09
用ThreadLocal来优化下代码吧
2021-05-09
netcore中使用session
2021-05-09
Android 开发学习进程0.25 自定义控件
2021-05-09
多媒体文件格式全解说(下)--图片
2021-05-09
淘宝WAP版小BUG分析
2021-05-09
NodeJS+Express+MongoDB
2021-05-09
(四十四)c#Winform自定义控件-水波-HZHControls
2021-05-09
c#winform主题实现的一个方法
2021-05-09
asp.net打印网页后自动关闭网页【无需插件】
2021-05-09