【題目描述】在乙個長度為n的陣列裡的所有數字都在0到n-1的範圍內。 陣列中某些數字是重複的,但不知道有幾個數字是重複的。也不知道每個數字重複幾次。請找出陣列中任意乙個重複的數字。 例如,如果輸入長度為7的陣列,那麼對應的輸出是重複的數字2或者3。
【引數說明】
numbers: 輸入的整數陣列
length: 陣列的長度
duplication: 輸出任意乙個重複的數字。使用duplication[0] 表示
public boolean duplicate(int numbers,int length,int duplication)
【輸出】
1. 如果存在重複的數字,返回值為true。並使用duplication[0]返回任意乙個重複的數字。
2. 如果不存在重複的數字,返回false。
思路:因為該陣列長度為n,且數字都在0~n-1的範圍內,因此,若按照排序排列好,當不存在重複的數字的時候,陣列下標和元素應該是一一對應相等的關係。從這裡切入,該問題就變得簡單了。當下標和元素不對應時,應該交換該下標下的元素到它應該去的下標位置。
**如下:
public class solution
}for (int i=0; ielse}}
return false;
}}
劍指offer之陣列查詢
題目 在乙個二維陣列中,每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成乙個函式,輸入這樣的乙個二維陣列和乙個整數,判斷陣列中是否含有該整數。完成 coding utf 8 class solution array 二維列表 deffind self,target,ar...
劍指OFFER之陣列篇
根據b站up主土妹的方法,像以前高中初中複習一樣來鍛鍊自己做演算法題的能力!把劍指offer的題目作為例題,系統學習乙個知識點之後,再去做leetcode的題目。加油!toc 目錄 地上有乙個m行和n列的方格。乙個機械人從座標0,0的格仔開始移動,每一次只能向左,右,上,下四個方向移動一格,但是不能...
劍指offer 陣列中重複的數字 Java
題目描述 在乙個長度為n的陣列裡的所有數字都在0到n 1的範圍內。陣列中某些數字是重複的,但不知道有幾個數字是重複的。也不知道每個數字重複幾次。請找出陣列中任意乙個重複的數字。例如,如果輸入長度為7的陣列,那麼對應的輸出是第乙個重複的數字2。解題思路 重排這個陣列,下標從0到length進行掃瞄。到...