LeetCode1394。配列でラッキーナンバーを見つけます

LeetCode1394。配列でラッキーナンバーを見つけます

どこに行くのかわかりませんが、もう途中です!
会ったことはありませんが、時間は急いでいますが、ユシに会いました。本当に素晴らしい運命です。ご来店ありがとうございました!
  • 質問
    整数配列では、整数の出現頻度がその数値と等しい場合、この整数を「ラッキーナンバー」と呼びます。
    あなたに整数の配列を与えてarrください、それからラッキーナンバーを見つけて返してください。
    • 配列のラッキーナンバーが複数ある場合は、最大のものを返すだけです。
    • 配列にラッキーナンバーがない場合は、-1が返されます。
示例 1 :
输入:arr = [2,2,3,4]
输出:2
解释:数组中唯一的幸运数是 2 ,因为数值 2 的出现频次也是 2 。
示例 2 :
输入:arr = [1,2,2,3,3,3]
输出:3
解释:1、2 以及 3 都是幸运数,只需要返回其中最大的 3 。
示例 3 :
输入:arr = [2,2,2,3,3]
输出:-1
解释:数组中不存在幸运数。
示例 4 :
输入:arr = [5]
输出:-1
示例 5 :
输入:arr = [7,7,7,7,7,7,7]
输出:7
  • ヒント
    • 1 <= arr.length <= 500
    • 1 <= arr[i] <= 500
  • コード1:
class Solution:
    def findLucky(self, arr: List[int]) -> int:
        result = []
        for i in range(len(arr)):
            if arr.count(arr[i]) == arr[i]:
                result.append(arr[i])
        if result == []:
            return -1
        return max(result)
# 执行用时 :160 ms, 在所有 Python3 提交中击败了6.10%的用户
# 内存消耗 :13.7 MB, 在所有 Python3 提交中击败了100.00%的用户
  • アルゴリズムの説明:リスト内
    現在の要素の出現回数をカウントarr[i]ます要素の値が出現回数と等しい場合は、その要素をリストに格納し、リスト内の最大の要素を返しますarrarr.count(arr[i])resultresult

おすすめ

転載: blog.csdn.net/qq_34331113/article/details/106672812