劍指offer 28 陣列中出現次數超過一半的數字

2021-07-31 09:33:12 字數 436 閱讀 1444

題目:

陣列中有乙個數字出現的次數超過陣列長度的一半,請找出這個數字。例如輸入乙個長度為9的陣列。由於數字2在陣列中出現了5次,超過陣列長度的一半,因此輸出2。如果不存在則輸出0。

思路:該題思路還是挺清晰的,首先判斷陣列是否為空,然後對陣列進行排序,如果有乙個數字出現的次數超過陣列長度的一半,那麼該數經過排序後肯定會出現在中間位置,(很關鍵),所以在排序過後把該數取出來,然後遍歷陣列,對該數出現的次數進行計數,對次數進行判斷返回。

class solution 

return (count > n/2)? middle:0;

}};

劍指offer28 陣列中出現次數超過一半的數字

題目描述 陣列中有乙個數字出現的次數超過陣列長度的一半,請找出這個數字。例如輸入乙個長度為9的陣列。由於數字2在陣列 現了5次,超過陣列長度的一半,因此輸出2。如果不存在則輸出0。coding utf 8 class solution def morethanhalfnum solution sel...

劍指offer 28 陣列中出現了一半的字母

陣列中有乙個數字出現的次數超過陣列長度的一半,請找出這個數字。例如輸入乙個長度為9的陣列。由於數字2在陣列中出現了5次,超過陣列長度的一半,因此輸出2。如果不存在則輸出0。c class solution return 0 python coding utf 8 class solution def...

全排列問題 劍指offer28

求全排列的步驟 兩步,無重複字元的情況 1.求出所有可能在第乙個位置的陣列,即吧第乙個字元和後面的所有字元交換。2.固定第乙個字元,求後面所有字元的全排列。第2步中的全排列求解用到遞迴。此時,仍把後面的所有字元分成兩部分,後面字元的第乙個字元,以及這個字元之後的所有字元。然後把第乙個字元注意和他後面...