Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonの要素のリストからk番目の欠落している数を見つけるプログラム


numsと整数kと呼ばれるソートされた一意の番号のリストがあるとすると、指定されたリストの最初の要素からk番目の欠落している番号を見つける必要があります。

したがって、入力がnums =[5,6,8,10,11]、k =1の場合、9は2番目(インデックス1)の欠落している数値であるため、出力は9になります。

これを解決するには、次の手順に従います-

  • 1からnumsのサイズの範囲のiの場合、実行します

    • diff:=nums [i]-nums [i-1]-1

    • k> =diffの場合、

      • k:=k-差分

    • それ以外の場合

      • nums [i-1] + k + 1

        を返します
  • nums [-1] + k+1を返す

理解を深めるために、次の実装を見てみましょう-

class Solution:
   def solve(self, nums, k):
      for i in range(1, len(nums)):
         diff = nums[i] - nums[i - 1] - 1
         if k >= diff:
            k -= diff
         else:
            return nums[i - 1] + k + 1
      return nums[-1] + k + 1

ob = Solution()
nums = [5,6,8,10,11]
k = 1
print(ob.solve(nums, k))

入力

[5,6,8,10,11], 1

出力

9

  1. リスト内の最小数を見つけるPythonプログラム

    この記事では、以下に示す問題ステートメントの解決策について学習します。 問題の説明 −リストが表示されます。リストで利用可能な最小の番号を表示する必要があります ここでは、リストを並べ替えて最小の要素を取得するか、組み込みのmin()関数を使用して最小の要素を取得できます。 次に、以下の実装の概念を観察しましょう- 例 list1 = [101, 120, 104, 145, 99] # sorting using built-in function list1.sort() print("Smallest element is:", list1[0]) 出力 Smal

  2. リストからN個の最大の要素を見つけるPythonプログラム

    整数リストが与えられた場合、私たちのタスクはリスト内で最大のN個の要素を見つけることです。 例 Input : [40, 5, 10, 20, 9] N = 2 Output: [40, 20] アルゴリズム Step1: Input an integer list and the number of largest number. Step2: First traverse the list up to N times. Step3: Each traverse find the largest value and store it in a new list. 例 def Nnumbere