PHP プログラミングでは、文字列の操作は一般的なタスクの 1 つです。一般的なタスクの 1 つは、2D スライス文字列要素にゼロを追加することです。文字列要素にゼロを追加すると、文字列の長さが一貫していることが保証され、その後の処理と比較が容易になります。では、このタスクを達成するにはどうすればよいでしょうか?以下では、PHP エディター Banana が、2 次元のスライス文字列要素にゼロを追加する方法を詳しく紹介します。
タスクは、2D スライスの文字列要素にゼロを追加することです。したがって、標準入力は [["7" "3" "1"]["2" "9"]] です。各スライスの最後の要素のゼロを最初の要素に追加する必要があります。ステップごとに、ゼロ カウンタは 1 ずつ増加します。したがって、標準出力は [["700", "30", "1"]["20", "9"]] となることが予想されます。
そのようなアルゴリズムを試してみましたが、期待した答えは得られませんでした。これは私のコードです:
リーリー期待どおりの答えを得るためにコードを変更するにはどうすればよいですか?
ゼロカウントは各行でリセットする必要があるため、このコードを最初のループ内に移動します。
この範囲もインデックス 0
から始まり、行末からゼロが増加するようにしたいので、counter
は len(strs[i ])-1
が始まるのでデクリメントする必要があります:
これらの変更を加えた後の出力は次のようになります (go playground で試してください): p> リーリー
行の末尾から処理を開始すると、追加するサフィックス (ゼロ) が増加することに注意してください。したがって、前のサフィックスを保持して「展開」することで、strings.repeat()
:
この出力は同じです。 go playground で試してみてください。
また、文字列はスライスでき、結果はスライスされた文字列とメモリを共有することにも注意してください。そのため、処理が速く、ゴミも出ません。ゼロのみを含む長い zeros
文字列を構築でき、この長い文字列をスライスして、追加したいだけのゼロを含めることができます。このソリューションでは、不要な文字列の割り当てと連結が回避されます:
これは同じコンテンツを再度出力します。go playground で試してください。
以上が2D スライスされた文字列要素にゼロを追加する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。