Pythonで長さk、距離nの辞書式に最小の小文字の文字列を見つけるプログラム
nとkの2つの数があるとします。サイズがkで距離がnの辞書式順序で最小の小文字の文字列を見つける必要があります。距離はアルファベットの文字番号の合計です。たとえば、「a」の文字番号は1、「b」の文字数は2、「y」の文字数は25、「z」の文字数は26などです。
したがって、入力がn =15 k =3の場合、出力は「aam」になります。これは、「aam」が長さ3の辞書式最小の文字列であり、距離が1 + 1 + 13=15であるためです。
これを解決するには、次の手順に従います-
- dist:=サイズkの配列で、1で埋めます
- クレジット:=n --k
- i:=k-1
- クレジット>0の場合、実行
- val:=最低クレジットと25
- dist [i]:=dist [i] + val
- credit:=credit --val
- i:=i-1
- (dの文字-1 + "a"のASCII))をdist内の各dに結合し、戻ります
例
理解を深めるために、次の実装を見てみましょう-
def solve(n, k): dist = [1] * k credit = n - k i = k - 1 while credit > 0: val = min(credit, 25) dist[i] += val credit -= val i -= 1 return "".join(chr(d - 1 + ord("a")) for d in dist) n = 15 k = 3 print(solve(n, k))
入力
15, 3
出力
aam
-
文字列内のミラー文字を検索するPythonプログラム
ユーザー入力文字列とその位置からの位置を指定すると、文字をアルファベット順に文字列の長さまでミラーリングする必要があります。この操作では、「a」を「z」に、「b」を「y」に、「c」を「x」に、「d」を「w」に変更します。これは、最初の文字が最後になることを意味します。オン。 Inpu t: p = 3 Input string = python Output : pygslm アルゴリズム Step 1: Input the string and position from we need to mirror the characters. Step 2: Creating a s
-
リスト内で最大、最小、2番目に大きい、2番目に小さいものを見つけるPythonプログラム?
配列が与えられたら、最大、最小、2番目に大きい、2番目に小さい数を見つける必要があります。 アルゴリズム Step 1: input list element Step 2: we take a number and compare it with all other number present in the list. Step 3: get maximum, minimum, secondlargest, second smallest number. サンプルコード # To find largest, smallest, second largest and second small