1880. 序列中出现X次的最大数字X
描述
给定一个由N个整数组成的序列A,请你输出最大的值X,它恰好在A中出现X次。如果没有这样的值,你应该输出0。
N是[1…100,000]范围内的整数;序列A的每个元素都是[1…1,000,000,000]范围内的整数。
样例 1:
输入:
[3,8,2,3,3,2]
输出:
3
说明:
序列中,2正好出现两次,3正好出现三次。且2和3的最大值是3,因此答案是3。
样例 2:
输入:
[3,1,4,1,5]
输出:
0
说明:
没有满足任务条件的数字,所以答案是0。
原题传送门
文章目录
1880. 序列中出现X次的最大数字X描述样例 1:样例 2:
题解最后说两句声明
题解
public class Solution {
public int findX(int[] arr
) {
Arrays
.sort(arr
);
int preNum
= arr
[arr
.length
- 1];
int preCount
= 1;
for (int i
= arr
.length
- 2; i
>= 0; i
--) {
int n
= arr
[i
];
if (n
== preNum
) {
preCount
++;
} else {
if (preCount
== preNum
) {
return preNum
;
}
preNum
= n
;
preCount
= 1;
}
}
if (preCount
== preNum
) {
return preNum
;
}
return 0;
}
}
最后说两句
非常感谢你阅读本文章,如果你觉得本文对你有所帮助,请留下你的足迹,点个赞,留个言,多谢~
作者水平有限,如果文章内容有不准确的地方,请指正。
希望小伙伴们都能每天进步一点点。
声明
本文由二当家的白帽子博客原创,转载请注明来源,谢谢~