Pythonでランレングス形式の文字列を通常の形式にデコードするプログラム
文字列sがあるとします。 sはランレングスでエンコードされた文字列であり、デコードされたバージョンを見つける必要があります。ご存知のように、ランレングスエンコーディングは、文字列をエンコードするための高速でシンプルな方法です。アイデアは次のとおりです-単一のカウントと文字として繰り返される連続する要素(文字)。たとえば、文字列が「BBBBAAADDCBB」のような場合、「4B3A2D1C2B」としてエンコードされます。
したがって、入力がs ="4B3A2D1C2B"の場合、出力は "BBBBAAADDCBB"
になります。これを解決するには、次の手順に従います-
- 出力:=空白の文字列
- num:=空白の文字列
- sの各文字iについて、
- iがアルファベットの場合、
- output:=output + i *(num as number)
- num:=空白の文字列
- それ以外の場合、
- num:=num + i
- iがアルファベットの場合、
- 出力を返す
理解を深めるために、次の実装を見てみましょう-
例
class Solution: def solve(self, s): output = "" num="" for i in s: if i.isalpha(): output+=i*int(num) num="" else: num+=i return output ob = Solution() print(ob.solve("4B3A2D1C2B"))を返します
入力
"4B3A2D1C2B"
出力
BBBBAAADDCBB
-
行列をZ形式で印刷するPythonプログラム
この記事では、特定の問題ステートメントを解決するための解決策とアプローチについて学習します。 問題の説明 −次数n * nの正方行列が与えられた場合、行列の要素をZ形式で表示する必要があります。 Zフォームは、次の手順でマトリックスをトラバースしています- 最初の行をトラバースします 次に、2番目の主対角線を横断します 最後に、最後の行をトラバースします。 ここでは、code.demostrateのフローを示すために暗黙的に取得された入力マトリックスを取得します。 例 arr = [[1, 2, 6, 9], [1, 2, 3, 1], &nb
-
文字のリストを文字列に変換するPythonプログラム
Pythonはこの種の変換をたくさん必要とします。たとえば、このような変換はシリアル化の目的で役立ちます。このような変換の例は、-です。 ['h', 'e', 'l', 'l', 'o', ' ', 'w', 'o', 'r', 'l', 'd'] to "hello world" Pythonには、このような変換に使用できる結合メソッドがあります。オブジェクトを連結するために使用される区切り文字列