「ソードフィンガーオファー」の配列の繰り返し番号

「ソードフィンガーオファー」の配列の繰り返し番号

どこに行くのかわかりませんが、もう途中です!
会ったことはありませんが、時間は急いでいますが、ユシに会いました。本当に素晴らしい運命です。ご来店ありがとうございました!
  • 問題
    長さnの配列内のすべての数値が0からn-1の範囲にあります。配列内のいくつかの数字が繰り返されていますが、いくつの数字が繰り返されているのかわかりません。それぞれの数字が何回繰り返されるかわかりません。配列の最初の繰り返し番号を見つけてください。たとえば、入力の長さが7配列[2,3,1,0,2,5,3]の場合、対応する出力は最初に繰り返される数値2です。繰り返し番号がない場合は-1を返します。
示例 1 :
输入:[2,3,1,0,2,5,3]
返回值:2
  • コード1:
class Solution:
    def duplicate(self , numbers ):
        temp = 0
        d = {
    
    }
        for i in range(len(numbers)):
            d[numbers[i]] = d.get(numbers[i],0) + 1
            if d[numbers[i]] == 2:
                return numbers[i]
        return -1
  • アルゴリズムの説明:
    ディクショナリを作成し、配列内の要素を1つずつトラバースし、ディクショナリ内の要素数を格納し、要素数が2を超えると現在の要素を返します。

おすすめ

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