国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

ホームページ バックエンド開発 PHPチュートリアル バイナリ文字列を美しくするための最小限の変更數(shù)

バイナリ文字列を美しくするための最小限の変更數(shù)

Nov 08, 2024 am 09:53 AM

Minimum Number of Changes to Make Binary String Beautiful

2914。バイナリ文字列を美しくするための最小変更數(shù)

難易度:

トピック: 文字列

偶數(shù)の長(zhǎng)さの 0 インデックス付き バイナリ文字列 s が與えられます。

次のような 1 つ以上の部分文字列に分割できる場(chǎng)合、文字列は 美しいです。

  • 各部分文字列は偶數(shù)の長(zhǎng)さを持ちます。
  • 各部分文字列には、1 または 0 のみのみが含まれます。

s の任意の文字を 0 または 1 に変更できます。

文字列を美しくするために必要な変更の最小數(shù)を返します

例 1:

  • 入力: s = "1001"
  • 出力: 2
  • 説明: s[1] を 1 に、s[3] を 0 に変更して、文字列「1100」を取得します。
    • 文字列「1100」は「11|00」に分割できるため、美しいことがわかります。
    • 文字列を美しくするために必要な最小限の変更數(shù)は 2 であることが証明できます。

例 2:

  • 入力: s = "10"
  • 出力: 1
  • 説明: s[1] を 1 に変更して、文字列「11」を取得します。
    • 文字列「11」は「11」に分割できるので美しいことがわかります。
    • 文字列を美しくするために必要な最小限の変更數(shù)は 1 であることが証明できます。

例 3:

  • 入力: s = "0000"
  • 出力: 0
  • 説明: 文字列「0000」はすでに美しいため、変更を加える必要はありません。

制約:

  • 2 5
  • s の長(zhǎng)さは偶數(shù)です。
  • s[i] は '0' または '1' です。

ヒント:

  1. 有効なパーティションの場(chǎng)合、各部分は偶數(shù)の同じ文字で構(gòu)成されているため、各部分を正確に 2 の長(zhǎng)さにさらに分割できます。
  2. 最初のヒントに気づいたら、文字列全體をサイズ 2 の互いに素なブロックに分解し、それらのブロックを美しくするために必要な最小限の変更數(shù)を見つけることができます。

解決策:

バイナリ文字列 s 內(nèi)のすべての文字のペアが「00」または「11」のいずれかであることを確認(rèn)する必要があります。ペアがこれら 2 つのパターンのいずれにも當(dāng)てはまらない場(chǎng)合、一致させるために文字の 1 つを変更する必要があります。

段階的な解決策のアプローチは次のとおりです:

  1. 文字列をブロックに分割します: 美しい文字列は長(zhǎng)さ 2 のブロックから形成できるため、文字列を 2 のステップで反復(fù)できます。

  2. Count Changes: 2 文字のブロックごとに、多數(shù)の文字 (0 または 1) を決定する必要があります。ブロック內(nèi)の少數(shù)文字を、多數(shù)文字と一致するように変更します。

  3. 最小変更の計(jì)算: 各ブロックについて、両方の文字が異なる場(chǎng)合、1 つの変更が必要になります。それらが同じであれば、変更する必要はありません。

このソリューションを PHP で実裝してみましょう: 2914。バイナリ文字列を美しくするための最小変更數(shù)

<?php
/**
 * @param String $s
 * @return Integer
 */
function minChanges($s) {
    ...
    ...
    ...
    /**
     * go to ./solution.php
     */
}

// Example usage
echo minChanges("1001"); // Output: 2
echo minChanges("10");   // Output: 1
echo minChanges("0000"); // Output: 0
?>

説明:

  1. 関數(shù)定義: バイナリ文字列 s を受け取る関數(shù) minChanges を定義します。

  2. 初期化: 必要な変更の數(shù)を追跡するために、変數(shù) $changes を初期化します。

  3. 文字列を反復(fù)処理します: 文字列をループし、毎回 2 ずつ増分して 2 文字の各ブロックをチェックします:

    • $first は現(xiàn)在の位置の文字です。
    • $sec は次の位置の文字です。
  4. 変更の確認(rèn): 現(xiàn)在のブロック內(nèi)の文字が異なる場(chǎng)合、$changes カウンターを 1 つ増加します。

  5. 戻り結(jié)果: 最後に、必要な変更の合計(jì)數(shù)を返します。

複雑:

  • 時(shí)間計(jì)算量: O(n)n は文字列の長(zhǎng)さです。文字列を 1 回繰り返します。
  • スペースの複雑さ: O(1)。一定量の追加スペースを使用しているためです。

このソリューションは、O(n) 時(shí)間計(jì)算量で動(dòng)作します。ここで、n は文字列の長(zhǎng)さであり、指定された制約に対して効率的です。

連絡(luò)先リンク

このシリーズが役立つと思われた場(chǎng)合は、GitHub で リポジトリ にスターを付けるか、お?dú)荬巳毪辘违僵`シャル ネットワークで投稿を共有することを検討してください。あなたのサポートは私にとって大きな意味を持ちます!

このような役立つコンテンツがさらに必要な場(chǎng)合は、お?dú)葺Xにフォローしてください:

  • LinkedIn
  • GitHub

以上がバイナリ文字列を美しくするための最小限の変更數(shù)の詳細(xì)內(nèi)容です。詳細(xì)については、PHP 中國語 Web サイトの他の関連記事を參照してください。

このウェブサイトの聲明
この記事の內(nèi)容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰屬します。このサイトは、それに相當(dāng)する法的責(zé)任を負(fù)いません。盜作または侵害の疑いのあるコンテンツを見つけた場(chǎng)合は、admin@php.cn までご連絡(luò)ください。

ホットAIツール

Undress AI Tool

Undress AI Tool

脫衣畫像を無料で

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード寫真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

寫真から衣服を削除するオンライン AI ツール。

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡(jiǎn)単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中國語版

SublimeText3 中國語版

中國語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強(qiáng)力な PHP 統(tǒng)合開発環(huán)境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

PHP変數(shù)スコープは説明されています PHP変數(shù)スコープは説明されています Jul 17, 2025 am 04:16 AM

PHP変數(shù)スコープの一般的な問題とソリューションには次のものが含まれます。1。グローバル変數(shù)は関數(shù)內(nèi)でアクセスできず、グローバルキーワードまたはパラメーターを使用して渡す必要があります。 2。靜的変數(shù)は靜的で宣言され、1回のみ初期化され、値は複數(shù)の呼び出し間で維持されます。 3. $ _GETや$ _POSTなどのハイパーグローバル変數(shù)は、任意の範(fàn)囲で直接使用できますが、安全なフィルタリングに注意を払う必要があります。 4.匿名関數(shù)は、使用キーワードを使用して親スコープ変數(shù)を?qū)毪工氡匾ⅳ?、外部変?shù)を変更する場(chǎng)合は、參照を渡す必要があります。これらのルールを習(xí)得すると、エラーを回避し、コードの安定性が向上するのに役立ちます。

ファイルアップロードをPHPで安全に処理する方法は? ファイルアップロードをPHPで安全に処理する方法は? Jul 08, 2025 am 02:37 AM

PHPファイルのアップロードを安全に処理するには、ソースとタイプを確認(rèn)し、ファイル名とパスを制御し、サーバー制限を設(shè)定し、メディアファイルを2回プロセスする必要があります。 1.トークンを介してCSRFを防ぐためにアップロードソースを確認(rèn)し、ホワイトリストコントロールを使用してFINFO_FILEを介して実際のMIMEタイプを検出します。 2。ファイルをランダムな文字列に変更し、検出タイプに従って非WEBディレクトリに保存する拡張機(jī)能を決定します。 3。PHP構(gòu)成は、アップロードサイズを制限し、一時(shí)的なディレクトリnginx/apacheはアップロードディレクトリへのアクセスを禁止します。 4. GDライブラリは寫真を再利用して、潛在的な悪意のあるデータをクリアします。

PHPでコードをコメントします PHPでコードをコメントします Jul 18, 2025 am 04:57 AM

PHPコメントコードには3つの一般的な方法があります。1。//#を使用して1行のコードをブロックすると、//を使用することをお?jiǎng)幛幛筏蓼埂?2。使用/.../複數(shù)の行でコードブロックをラップするには、ネストすることはできませんが交差することができます。 3. / if(){}を使用するなどの組み合わせスキルコメントロジックブロックを制御するか、エディターショートカットキーで効率を改善するには、シンボルを閉じることに注意を払い、使用時(shí)にネストを避ける必要があります。

発電機(jī)はPHPでどのように機(jī)能しますか? 発電機(jī)はPHPでどのように機(jī)能しますか? Jul 11, 2025 am 03:12 AM

ageneratorinphpisamemory-efficientwaytoateate-overdeatatasetasetasetasetsinging valueseintimeintimeturningthemallatonce.1.generatorsususedeywordproducevaluesedemand、memoryusage.2を還元すること。2

PHPコメントを書くためのヒント PHPコメントを書くためのヒント Jul 18, 2025 am 04:51 AM

PHPコメントを書くための鍵は、目的と仕様を明確にすることです。コメントは、「何が行われたのか」ではなく「なぜ」を説明する必要があり、冗長(zhǎng)性や単純さを避けてください。 1.読みやすさとツールの互換性を向上させるために、クラスおよびメソッドの説明にdocblock(/*/)などの統(tǒng)合形式を使用します。 2。JSジャンプを手動(dòng)で出力する必要がある理由など、ロジックの背後にある理由を強(qiáng)調(diào)します。 3.複雑なコードの前に概要説明を追加し、手順でプロセスを説明し、全體的なアイデアを理解するのに役立ちます。 4. TodoとFixmeを合理的に使用して、To Doアイテムと問題をマークして、その後の追跡とコラボレーションを促進(jìn)します。優(yōu)れた注釈は、通信コストを削減し、コードメンテナンスの効率を向上させることができます。

PHPのインデックスごとに文字列內(nèi)の文字にアクセスする方法 PHPのインデックスごとに文字列內(nèi)の文字にアクセスする方法 Jul 12, 2025 am 03:15 AM

PHPでは、四角い括弧または巻き毛裝具を使用して文字列固有のインデックス文字を取得できますが、正方形のブラケットをお?jiǎng)幛幛筏蓼?。インデックス?から始まり、範(fàn)囲外のアクセスはnull値を返し、値を割り當(dāng)てることができません。 MB_SUBSTRは、マルチバイト文字を処理するために必要です。例:$ str = "hello"; echo $ str [0];出力h; MB_Substr($ str、1,1)などの漢字は、正しい結(jié)果を得る必要があります。実際のアプリケーションでは、ループする前に文字列の長(zhǎng)さをチェックする必要があり、ダイナミック文字列を有効性のために検証する必要があり、多言語プロジェクトはマルチバイトセキュリティ関數(shù)を均一に使用することをお?jiǎng)幛幛筏蓼埂?/p>

クイックPHPインストールチュートリアル クイックPHPインストールチュートリアル Jul 18, 2025 am 04:52 AM

to installphpquickly、usexampponwindowsorhomebrewonmacos.1.onwindows、downloadandinstallxampp、selectcomponents、startapache、andplacefilesinhtdocs.2

PHPの學(xué)習(xí):初心者向けガイド PHPの學(xué)習(xí):初心者向けガイド Jul 18, 2025 am 04:54 AM

tolearnphpefctivially、startbysettingupalocalserverenvironmentusingtoolslikexamppandacodeeditorlikevscode.1)instalxamppforapa Che、mysql、andphp.2)useocodeeditorforsyntaxsupport.3)testyoursetup withasimplephpfile.next、Learnpbasicsincludingvariables、ech

See all articles