《剑指offer》数组中重复的数字
生活随笔
收集整理的這篇文章主要介紹了
《剑指offer》数组中重复的数字
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題目:在一個長度為n的數組里的所有數字都在0到n-1的范圍內。 數組中某些數字是重復的,但不知道有幾個數字是重復的。也不知道每個數字重復幾次。請找出數組中任意一個重復的數字。 例如,如果輸入長度為7的數組{2,3,1,0,2,5,3},那么對應的輸出是第一個重復的數字2。
解析:利用選擇排序的思想,當循環到到第i個元素的時候,從第i+1個元素開始找,找到第一個和第i個位置的元素相同的話就返回true。
public class Solution {// Parameters:// numbers: an array of integers// length: the length of array numbers// duplication: (Output) the duplicated number in the array number,length of duplication array is 1,so using duplication[0] = ? in implementation;// Here duplication like pointor in C/C++, duplication[0] equal *duplication in C/C++// 這里要特別注意~返回任意重復的一個,賦值duplication[0]// Return value: true if the input is valid, and there are some duplications in the array number otherwise false public boolean duplicate(int numbers[],int length,int [] duplication) {boolean flag=false;for(int i=0;i<length;i++){for(int j=i+1;j<length;j++){if(numbers[j]==numbers[i]){duplication[0]=numbers[i];flag=true;return flag;}}}return flag;} }總結
以上是生活随笔為你收集整理的《剑指offer》数组中重复的数字的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 《剑指offer》把字符串转为整数
- 下一篇: 《剑指offer》构建乘积数组