ホームページ  >  記事  >  バックエンド開発  >  2D スライスされた文字列要素にゼロを追加する方法

2D スライスされた文字列要素にゼロを追加する方法

PHPz
PHPz転載
2024-02-13 15:20:081118ブラウズ

2D スライスされた文字列要素にゼロを追加する方法

PHP プログラミングでは、文字列の操作は一般的なタスクの 1 つです。一般的なタスクの 1 つは、2D スライス文字列要素にゼロを追加することです。文字列要素にゼロを追加すると、文字列の長さが一貫していることが保証され、その後の処理と比較が容易になります。では、このタスクを達成するにはどうすればよいでしょうか?以下では、PHP エディター Banana が、2 次元のスライス文字列要素にゼロを追加する方法を詳しく紹介します。

質問内容

タスクは、2D スライスの文字列要素にゼロを追加することです。したがって、標準入力は [["7" "3" "1"]["2" "9"]] です。各スライスの最後の要素のゼロを最初の要素に追加する必要があります。ステップごとに、ゼロ カウンタは 1 ずつ増加します。したがって、標準出力は [["700", "30", "1"]["20", "9"]] となることが予想されます。

そのようなアルゴリズムを試してみましたが、期待した答えは得られませんでした。これは私のコードです:

リーリー

期待どおりの答えを得るためにコードを変更するにはどうすればよいですか?

回避策

ゼロカウントは各行でリセットする必要があるため、このコードを最初のループ内に移動します。

この範囲もインデックス 0 から始まり、行末からゼロが増加するようにしたいので、counterlen(strs[i ])-1 が始まるのでデクリメントする必要があります:

リーリー

これらの変更を加えた後の出力は次のようになります (go playground で試してください): p> リーリー

行の末尾から処理を開始すると、追加するサフィックス (ゼロ) が増加することに注意してください。したがって、前のサフィックスを保持して「展開」することで、strings.repeat():

を破棄できます。 リーリー

この出力は同じです。 go playground で試してみてください。

また、文字列はスライスでき、結果はスライスされた文字列とメモリを共有することにも注意してください。そのため、処理が速く、ゴミも出ません。ゼロのみを含む長い zeros 文字列を構築でき、この長い文字列をスライスして、追加したいだけのゼロを含めることができます。このソリューションでは、不要な文字列の割り当てと連結が回避されます:

リーリー

これは同じコンテンツを再度出力します。go playground で試してください。

以上が2D スライスされた文字列要素にゼロを追加する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はstackoverflow.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。