假設給定了陣列nums為[0,1,2,3,4,5,6,7,8,9,10,10,9,8,7,6,5,4,1,2,3,3,0]
其中3出現了3次
而其他數字都出現了兩次
則我們應該得到結果為3
第一種方式:使用hash
1view code/**2
* 使用hash3*
*/4public
static
int singlenumber_1(int
nums) else
15* *
*/16
if(map.get(num) != null
) else21}
22int result = -1;
23for
(integer key : map.keyset())
2728}29
return
result;
30 }
第二種方式:使用^
1view code/**2
* 異或
3* a^b^c^b^a = (a^a)(b^b)^c = 0^c = c4*
*/5public
static
int singlenumber_2(int
nums) 13}
14return
ans;
15 }
在其它數都出現偶數次的陣列中尋找出現奇數次的數
題目 給定乙個整形陣列,其中只有乙個數出現了奇數中,其它的數都出現了偶數次,求只出現了奇數次的這個數.高階 有兩個數出現了奇數次,其它數都出現了偶數次,求這兩個數.完整 package chapter 7 bitoperation public class problem 05 eventimeso...
c 筆試,求陣列中出現奇數次的2個數
題 有n 2個數,n個數出現了偶數次,2個數出現了奇數次 這兩個數不相等 問用o 1 的空間複雜度,找出這兩個數,不需要知道具體位置,只需要知道這兩個值。求解 如果只有乙個數出現過奇數次,這個就比較好求解了,直接將陣列中的元素進行異或,異或的結果 就是只出現過奇數次的那個數。但是題目中有2個數出現了...
找出乙個陣列中出現次數最大的數
描敘 一大堆資料裡面,數字與數字之間用空格隔開,找出出現次數最多的乙個數字的演算法 includevoid findmosttimesdigit int src int srclen if tempcount maxcount else if tempcount maxcount printf 出現...