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

2021-08-22 18:14:34 字數 544 閱讀 9580

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

c++**:

class solution 

return 0;

}};

python**:

# -*- coding:utf-8 -*-

class solution:

def morethanhalfnum_solution(self, numbers):

# write code here

dict = {}

for num in numbers:

if num not in dict:

dict[num] = 1

else:

dict[num]+=1

if dict[num] >len(numbers)/2:

return num

return 0

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

題目 陣列中有乙個數字出現的次數超過陣列長度的一半,請找出這個數字。例如輸入乙個長度為9的陣列。由於數字2在陣列中出現了5次,超過陣列長度的一半,因此輸出2。如果不存在則輸出0。思路 該題思路還是挺清晰的,首先判斷陣列是否為空,然後對陣列進行排序,如果有乙個數字出現的次數超過陣列長度的一半,那麼該數...

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

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

全排列問題 劍指offer28

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