刚刚看了王晓华前辈在《算法的乐趣》一书的前言中提到了一个面试题:
有一个由若干正整数组成的数列,数列中中的每个数都不超过32,已知数列中存在重复的数字,请给出一个算法找出这个数列中所有重复的数字。
我用java实现了一种方法:
package com.wr.FindSameNum; public class FindSameNum { public static void main(String[] args){ int[] myInput = {1,2,3,4,5,32,5,15,14,2}; Count(myInput); } public static void Count(int[] input){ int[] mySet = new int[33]; for(int i = 0; i < input.length; i++ ){ for(int j = 0; j <= 32; j++){ if(input[i] == j){ mySet[j]++; } } } for(int i = 0; i <= 32; i ++){ if(mySet[i] >= 2){ System.out.println(i); } } } }
版权声明:本文为博主原创文章,未经博主允许不得转载。
原文地址:http://blog.csdn.net/xdwyyan/article/details/46877863