もっと数39の半分以上のデジタル顔の質問の配列が発生します

トピック説明:
配列は、数字の数がこの数を見つけ、配列の半分以上の長さが表示されています。あなたは、配列が空であると仮定することができ、与えられた配列のほとんどの要素が常にあります。

例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))

トピック出典:
https://leetcode-cn.com/problems/shu-zu-zhong-chu-xian-ci-shu-chao-guo-yi-ban-de-shu-zi-lcof/solution/pai-xu -qu-忠-志副 XIN-RU-志風水-33 /

公開された378元の記事 ウォン称賛43 ビュー40000 +

おすすめ

転載: blog.csdn.net/weixin_43283397/article/details/105106754