java 实现递归查找数组中的重复数字

来源:互联网 发布:软件质量指标 编辑:程序博客网 时间:2024/06/05 06:42
package offer;/** * 递归的方法查找重复的数字 * */public class FindDuplicate4 {public static void main(String[] args)  {int numbers[] = {0,1,2,3,4,4,6,7};//数组中的数 大小从0 到 numbers.length-1System.out.println(findDuplicate(numbers,0));}static int findDuplicate(int numbers[],int index){if(numbers==null || index<0 ||index>=numbers.length)return -1;if(index==numbers.length-1 && countNumberInRange(numbers,numbers[index])==1)return -1;else if(countNumberInRange(numbers,numbers[index])>1)return numbers[index];return findDuplicate(numbers,index+1);}//计算数组中数字numbers[index]从下标index的位置到结束的出现个数static int countNumberInRange(int numbers[],int index){int count=0;for(int i=index;i<numbers.length;i++){if(numbers[index]==numbers[i])count++;}return count;}}

原创粉丝点击