陣列中有乙個數字出現的次數超過陣列長度的一半,請找出這個數字。例如輸入乙個長度為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步中的全排列求解用到遞迴。此時,仍把後面的所有字元分成兩部分,後面字元的第乙個字元,以及這個字元之後的所有字元。然後把第乙個字元注意和他後面...