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]
-
Pythonの二分探索木でk番目に小さい要素を見つけるプログラム
二分探索木があり、別の整数kがあるとすると、ツリー内でk番目に小さい値を見つける必要があります。 したがって、入力が次のような場合 k =3の場合、出力は7になります これを解決するには、次の手順に従います- スタック:=空のスタック i:=0 ans:=-1 スタックが空でないか、ルートがnullでない場合は、実行してください ルートがnullでない場合は、実行してください ルートをスタックにプッシュする ルート:=ルートの左側 v:=スタックから要素をポップ iがkと同じ場合、 ans:=vの値 ループか
-
Pythonプログラムでの線形探索
この記事では、線形検索とPython3.xでの実装について学習します。またはそれ以前。 アルゴリズム 指定されたarr[]の左端の要素から開始し、要素xをarr []の各要素と1つずつ比較します。 xがいずれかの要素と一致する場合は、インデックス値を返します。 xがarr[]のどの要素とも一致しない場合は、-1を返すか、要素が見つかりません。 次に、特定のアプローチの視覚的表現を見てみましょう- 例 def linearsearch(arr, x): for i in range(len(arr)): &nbs