Pythonでの最大スワップ
これを解決するには、次の手順に従います-
- num:=数字から各桁を切り取り、リストを作成します
- num1:=numを逆の順序で並べ替えます
- インデックス:=0
- while index
- num1[index]がnum[index]と同じでない場合
- a:=インデックス(インデックス+ 1)から終了までのnumのサブ配列
- 逆にする
- a:=aの長さ–+インデックスのnum[インデックス]のインデックス+1 – 1
- num [index]、num [a]:=num [a]、num [index]
- ループを破る
- インデックスを1つ増やします
- num1[index]がnum[index]と同じでない場合
理解を深めるために、次の実装を見てみましょう-
class Solution: def maximumSwap(self, num): num = list(map(int,list(str(num)))) num1 = sorted(num,reverse=True) index=0 while index<len(num): if num1[index]!=num[index]: a = num[index+1:] a.reverse() a=len(a) - a.index(num1[index])+index+1 -1 num[index],num[a] = num[a],num[index] break index+=1 return int("".join(str(x) for x in num)) ob1 = Solution() print(ob1.maximumSwap(5397))
5397
出力
9357
-
Pythonの最大サブアレイ
整数配列Aがあるとします。長さが少なくとも1で、合計が最大である連続したサブ配列を見つけて、その合計を返す必要があります。したがって、配列AがA =[-2,1、-3,4、-1,2,1、-5,4]のようである場合、合計は6になり、サブ配列は[4、-1になります。 、2、1] これを解決するために、動的計画法のアプローチを使用してみます。 Aのサイズと同じ配列dpを定義し、0で埋めます dp [0]:=A [0] for i =1 to the size of A – 1 dp [i]:=最大dp [i – 1] +A[i]およびA[i] 最大値をdpで返す 理解を深める
-
Pythonプログラムは最大3つ。
3つの数abとcが与えられた場合、私たちのタスクは、与えられた数の中から最大の要素を見つけなければならないということです。 例 Input: a = 2, b = 4, c = 3 Output: 4 アルゴリズム Step 1: input three user input number. Step2: Add three numbers to list. Step 3: Using max() function to find the greatest number max(lst). Step 4: And finally we will print maximum numbe