2

私は初心者であり、私はハッカーの質問を練習していました。 私は、大きな入力に対してタイムアウトした問題の一部として、このコードを書いた:あなたが説明してくださいすることができ、次のいずれかがすべてのテストケースPythonで過大入力を処理するにはどうすればよいですか?

K = int(input()) 
    roomnos = [int(i) for i in input().split()] 
    setroomnos = set(roomnos) 
    c = (K * sum(setroomnos) - sum(roomnos)) // (K - 1) 
    print(c) 

のために裁判官に受け入れられた

K = int(input()) 
    roomnos = input().split() 
    setroomnos = set(roomnos) 
    for r in setroomnos: 
     if roomnos.count(r) == 1: 
      print(r) 
      break 

なぜ最初に1つは大きな入力に対してタイムアウトし、もう1つはうまく働いた PS:基本操作は、K回出現する他のnosではなく、リスト内に1回だけ出現するnoを見つけることです

答えて

3

最初の解決策ではO )O(n)countが内部にあるは、O(n^2)の複雑さをもたらします。あなたの2番目の例は、そのように操作を入れ子にしていないので、複雑さもO(n)です。

関連する問題