題7 出現K次與出現1次

2022-08-31 10:33:07 字數 876 閱讀 1856

題目描述:

乙個陣列中只有乙個數出現了1次,其他的數都出現了k次,請輸出出現了1次的那個數。

原理:k個相同的k進製數之間做不進製的加法,結果為0,如,2個2得0 ,10個5得0  .......

解題思路:

將所有的數轉化成為k進製,然後做k進製的不進製加法運算,得出的結果再有k進製轉換位10進製。

解題步驟:

第一步: 建立乙個二維陣列,用來儲存k進製數。

第二步:轉換承k進製陣列。

第三步:進行不進製的加法運算,結果得出再resarray陣列中。

第四步:對resarray陣列遍歷,進行10進製轉換運算。

第五步:輸出結果。  

關鍵**:

public

class

出現k次與出現1次 ;

//第一步:建立乙個二維字元陣列,用來儲存k進製位數

int len =arr.length;

char ch =new

char

[len];

//第二步:轉換成k進製陣列

int k =3; int maxlen=0;

for(int i=0;i)

}//第三步:進行不進製加法運算,結果得出再resarray中

int resarray = new

int[maxlen];

for (int i = 0; i < len; i++)

else}}

//第四步:對resarray陣列遍歷,進行10進製轉換運算

int res=0;

for(int i=0;i)

//第五步:輸出結果

system.out.println(res);

}}

出現k次與出現1次

問題描述 陣列中只有乙個數出現了1次,其他的數都出現了k次,請輸出只出現1次的數。解題思路 陣列a中,除了某乙個數字x之外,其他數字都出現了三次,而x出現了一次。請給出最快的方法找到x。應該如何思考呢?如果是兩個相同的就可以利用兩個相同的數異或結果為0來計算的,但這個題目中其他數字是出現了3次,因此...

出現k次與出現1次《演算法很美》

具體思路 建立乙個字元二維陣列char kradix new char len 將arr的每乙個數轉換成三進製integer.tostring arr i k 並進行翻轉 變為字串 最後整成字元陣列 同時要將最長的三進製數長度儲存if kradix i length maxlen maxlen kr...

0 400中1出現了多少次?

今天小菜無意間在社群看到乙個討論 0 400中1出現了多少次?小菜看到大部分給出的演算法是基於字串的處理,思路大致是 把所有數字拼接成乙個字串,然後對字串進行處理,進而獲取出現次數。例如以下 1 2 版本 3 找出 1 出現的次數4 5function numbercount1 n 10var s ...