java 两个算法题,帮忙给解答下

1、有两百万个正整数 存储在int[] num数组中,而且这些正整数是排序好的,要求用最快的方式找出其中重复的一个数字.

2、有一个数组中有1000个整数,输出重复次数最多的前三个数及出现次数

没人知道吗,有这么难吗???

共勉,希望能帮到大家:http://www.codeyyy.com/java/index.html

第一个问题如果是连续的正整数的话,可以使用二分法,获取arr[i+100000] - arr[i] ==100000 就能得出重复的数是否包含在里面。
第二题是没什么好办法,遍历统计一遍

第一个可以用双重循环,第二个直接遍历