PythonでのDI文字列の一致
「I」(増加を示す)または「D」(減少を示す)のみを含む文字列Sがあるとし、N =Sのサイズとします。[0、1、..。の順列Aを返す必要があります。 、N]範囲0、...、N-1-
のすべてのiに対して- S [i]が「I」の場合、A [i]
- それ以外の場合、S [i]が「D」の場合、A [i]> A [i + 1]
したがって、入力が「IDID」のような場合、出力は[0,4,1,3,2]
になります。これを解決するには、次の手順に従います-
- A:=0からNまでのリスト。ここで、NはSのサイズです。
- res=空白のリスト
- Sの各要素jについて、
- jがIの場合、Aから最後の要素を削除し、resに挿入します
- それ以外の場合は、Aの最初の要素を削除し、resに挿入します
- return res
理解を深めるために、次の実装を見てみましょう-
例
class Solution: def diStringMatch(self, S): A=[i for i in range(len(S)+1)] return [A.pop((j=='I')-1) for j in S]+A ob = Solution() print(ob.diStringMatch("IDID"))
入力
"IDID"
出力
[0, 4, 1, 3, 2]
-
Pythonで文字列を逆にする
文字の配列があるとします。追加のスペースを使用せずに文字列を反転する必要があります。したがって、文字列が[H、E、L、L、O]のような場合、出力は[O、L、L、E、 H] これを解決するには、次の手順に従います- 2つのポインタを使用して、開始=0および終了=文字列の長さ– 1 最初と最後の文字を入れ替える 開始を1増やし、終了を1減らします 例 理解を深めるために、次の実装を見てみましょう- class Solution(object): def reverseString(self, s): "&q
-
Pythonのcasefold()文字列
この関数は、単語の文字を小文字に変換するのに役立ちます。 2つの文字列に適用すると、文字の大文字小文字の種類に関係なく、それらの値と一致する可能性があります。 casefold()の適用 以下の例では、casefold()関数を文字列に適用すると、結果はすべて小文字で出力されます。 例 string = "BestTutorials" # print lowercase string print(" lowercase string: ", string.casefold()) 出力 上記のコードを実行すると、次の結果が得られます- Lowerca