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

Pythonの左側で各要素を最小の用語に置き換えるプログラム


numsと呼ばれる数値のリストがあるとすると、すべてのnums[i]をiの左側にある最小の要素に置き換える必要があります。 nums[0]を0に置き換える必要があります。

したがって、入力が[15、7、9、16、12、25]の場合、出力は[0、15、7、7、7、7]

になります。

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

  • numsが空の場合、
    • 新しいリストを返す
  • j:=nums [0]
  • nums [0]:=0
  • 範囲1からnums-1のサイズのiの場合、do
    • k:=nums [i]
    • nums [i]:=j
    • j:=最小のj、k
  • 数値を返す

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

class Solution:
   def solve(self, nums):
      if not nums:
         return []
         j=nums[0]
         nums[0]=0
         for i in range(1,len(nums)):
            k=nums[i]
            nums[i]=j
            j=min(j,k)
         return nums
ob = Solution()
nums = [15, 7, 9, 16, 12, 25]
print(ob.solve(nums))

入力

[15, 7, 9, 16, 12, 25]

出力

[0, 15, 7, 7, 7, 7]

  1. Pythonの二分探索木でk番目に小さい要素を見つけるプログラム

    二分探索木があり、別の整数kがあるとすると、ツリー内でk番目に小さい値を見つける必要があります。 したがって、入力が次のような場合 k =3の場合、出力は7になります これを解決するには、次の手順に従います- スタック:=空のスタック i:=0 ans:=-1 スタックが空でないか、ルートがnullでない場合は、実行してください ルートがnullでない場合は、実行してください ルートをスタックにプッシュする ルート:=ルートの左側 v:=スタックから要素をポップ iがkと同じ場合、 ans:=vの値 ループか

  2. Pythonプログラムでの線形探索

    この記事では、線形検索とPython3.xでの実装について学習します。またはそれ以前。 アルゴリズム 指定されたarr[]の左端の要素から開始し、要素xをarr []の各要素と1つずつ比較します。 xがいずれかの要素と一致する場合は、インデックス値を返します。 xがarr[]のどの要素とも一致しない場合は、-1を返すか、要素が見つかりません。 次に、特定のアプローチの視覚的表現を見てみましょう- 例 def linearsearch(arr, x):    for i in range(len(arr)):     &nbs