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

Pythonで最初に欠落しているポジティブ


ソートされていない整数配列が1つあるとします。欠落している最小の正の数を見つける必要があります。したがって、配列が[4、-3、1、-1]のような場合、結果は2になります。

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

  • i:=0に設定し、すべての数値の前に1つの0を追加して配列番号を更新します

  • 0からnumsの長さの範囲のiの場合

    • 一方、nums [i]>=0およびnums[i]

      • nums [nums [i]]:=nums [i]

      • nums [i]:=nums [nums [i]]

  • num:=1

  • 1からnumsの長さまでの範囲のiの場合

    • num =nums [i]の場合、numを1増やします

  • numを返す

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

class Solution(object):
   def firstMissingPositive(self, nums):
   i = 0
   nums = [0] + nums
   for i in range(len(nums)):
      while nums[i]>=0 and nums[i]<len(nums) and nums[nums[i]]!=nums[i]:
         nums[nums[i]],nums[i] = nums[i],nums[nums[i]]
      num = 1
      for i in range(1,len(nums)):
         if num == nums[i]:
            num+=1
      return num

ob = Solution()
print(ob.firstMissingPositive([4,-3,1,-1]))

入力

[4,-3,1,-1]

出力

2

  1. 2つのリストで欠落している値と追加の値を見つけるPythonプログラム?

    集合論では、集合Aの補集合はAにない要素を指します。集合Bに対するAの相対的な補集合は、集合AとBの差とも呼ばれます。ここではこの原理を適用します。 Pythonには違いの機能があります。 アルゴリズム Step 1 : first we create two user input list. A & B Step 2 : Insert A and B to a set. Step 3 : for finding the missing values of first list we apply difference function, difference of B from

  2. Pythonで例外を発生させる方法は?

    raiseキーワードを使用して、強制的に例外を発生させることができます。 「raise」メソッドを呼び出すための構文は次のとおりです。 raise [Exception [, args [, traceback]]] ここで、Exceptionは例外の名前です。オプションの「args」は、例外引数の値を表します。 また、オプションの引数であるtracebackは、例外に使用されるtracebackオブジェクトです。 #raise_error.py try: i = int ( input ( "Enter a positive integer value: " )