在乙個長度為n+1的陣列裡的所有數字都在1到n的範圍內,所以陣列中至少有乙個數字是重複的。請找出陣列中任意乙個重複的數字,但不能修改輸入的陣列。例如,如果輸入長度為8的陣列,那麼對應的輸出是重複的數字2或者3。
我們新建乙個陣列,將陣列中的每乙個數字m,放到新陣列下標為m的位置,如果有重複,說明有重複的數字m。
public
class
finddupnum2
int[
] newnums=
newint
[nums.length]
;for
(int i=
0; i)else
if(newnums[m]
!=null)}}
}
劍指offer 面試題(三)
package com.haxianhe.test 題目 在乙個二維陣列中,每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成乙個函式,輸入這樣的乙個二維陣列和乙個整數,判斷陣列中時候含有該整數。public class jzoffer3 else if array ro...
劍指offer面試題目 醜數
把只包含因子2 3和5的數稱作醜數 ugly number 例如6 8都是醜數,但14不是,因為它包含因子7。習慣上我們把1當做是第乙個醜數。求按從小到大的順序的第n個醜數。輸入 輸入包括乙個整數n 1 n 1500 輸出 可能有多組測試資料,對於每組資料,輸出第n個醜數。方法一 最簡單的思路是,從...
劍指offer面試題7
面試題7 用兩個棧實現佇列 using namespace std template class cqueue 預備知識 佇列 佇列也是一種常見的資料結構 特點是先進先出 fifo 在stl中有stack和queue兩個容器 template class stack 成員函式 empty size ...