トピック説明:
配列は、数字の数がこの数を見つけ、配列の半分以上の長さが表示されています。あなたは、配列が空であると仮定することができ、与えられた配列のほとんどの要素が常にあります。
例1:
输入: [1, 2, 3, 2, 2, 2, 5, 4, 2]
输出: 2
1問題解決のアイデア:
使用カウンター、ノート読取方法タプル
コード1:
class Solution:
def MoreThanHalfNum_Solution(self, numbers):
if not numbers: return 0
count = Counter(numbers).most_common() # [(2, 5), (1, 1), (3, 1), (5, 1), (4, 1)]
if count[0][1] > len(numbers) / 2:
return count[0][0]
return 0
s = Solution()
numbers = [1,2,3,2,2,2,5,4,2]
print(s.MoreThanHalfNum_Solution(numbers))
2問題解決のアイデア:
配列番号は数字の配列の半分以上の長さを発生し、数字が中央にソートされなければならないにも知られなければなりません
コード2:
class Solution:
def MoreThanHalfNum_Solution(self, numbers):
if not numbers: return 0
count = sorted(numbers)
return count[len(numbers)//2]
s = Solution()
numbers = [1,2,3,2,2,2,5,4,2]
print(s.MoreThanHalfNum_Solution(numbers))