目次
問題の処理
指定された条件に基づいて空の文字列を作成することによって削除される文字インデックスの総数を決定するための C 構文は次のとおりです -
次の条件を使用して文字削除インデックスの合計を計算し、空の文字列を生成します -
この例では、文字列「abacbdc」が入力として使用されます。このコードは、2 つのインデックス i と j を使用して、文字列を最初から最後まで走査します。文字列から文字を削除する条件は次のとおりです。
示例 2
输出
方法2
结论
ホームページ バックエンド開発 C++ 指定された条件に従って次を中国語に翻訳します。指定された条件に従って文字を削除し、空の文字列のインデックスの合計を取得します。

指定された条件に従って次を中国語に翻訳します。指定された条件に従って文字を削除し、空の文字列のインデックスの合計を取得します。

Sep 02, 2023 pm 03:29 PM
キャラクター 消去 状態

指定された条件に従って次を中国語に翻訳します。指定された条件に従って文字を削除し、空の文字列のインデックスの合計を取得します。

空の文字列を取得するために削除される文字インデックスの合計など、文字列操作に関連する概念は、プログラミングの課題や競技会でよく使用されます。次に、削除された文字インデックスの合計を使用して結果が計算されます。

文字のインデックス合計を削除して空の文字列を取得することは、プログラミングのさまざまな困難や課題を解決するために使用できる文字列操作の実用的なアイデアです。

問題の処理

空の文字列を生成するために削除される文字インデックスの総数を見つけるには、まず問題文と指定された基準を理解する必要があります。

文字列 S が与えられた場合、目標は、文字列を空のままにして S から削除できる文字の合計数を決定することです。たとえば、S = "code" の場合、位置 0、4、5、および 6 の文字を削除して空の文字列を取得できます。これらの指数を合計すると、0 4 5 6 = 15 になります。

ただし、スタックの使用は、この問題を解決するための一般的な戦略です。文字列 S をループし、各反復で各文字を削除できるかどうかを判断できます。インデックスを削除できる場合は、スタックに追加できます。削除できない場合は、スタックの一番上のキャラクターを既存のキャラクターと一緒に削除できるかどうかを確認します。削除できる場合は削除し、そのインデックスを現在の文字のインデックスに追加します。このプロセスは、文字列内のすべての文字が処理されるまで繰り返すことができます。

次の疑似コードは、この戦略を示しています -

リーリー

この疑似コードでは、sum 変数と空のスタックは両方とも 0 に初期化されます。次に、for ループを使用して文字列 S を繰り返し処理します。各文字を確認して、一番上の文字と一緒に削除できるかどうかを確認します。 stack (スタックが空でない場合)。可能であれば、キャラクターはスタックから削除され、そのインデックスとゲーム内のキャラクターの合計が sum 変数に追加されます。この場合、インデックスをスタックに追加し、削除しようとします。次に、sum 変数を返します。

このメソッドの時間計算量と空間計算量は両方とも O(n) です。ここで、n は文字列 S の長さ、n は S から削除できる最大文字数です。

###文法###

指定された条件に基づいて空の文字列を作成することによって削除される文字インデックスの総数を決定するための C 構文は次のとおりです -

イラスト

    まず、ユーザーが入力した文字列を取得します。
  • n の開始値を文字列 str の長さに設定します。
  • 次に、cnt を 0 に初期化します。これにより、文字「U」の出現数がカウントされます。
  • sum の初期値を 0 に設定します。これには、削除された文字インデックスの合計数が格納されます。
  • その後、str をループして、以下に示すように各文字をチェックします。 -
    • 文字が「U」の場合、cnt を増加させ、合計を (n - i - 1) 2 * cnt だけ増やします。
    • 文字が「U」ではない場合、i 2 * cnt を加算して合計を増やします。
    最後に、sumの値を出力します。
NOTE

- この質問の詳細は明示されていないため、これらの条件が想定されます。 リーリー ###アルゴリズム### 定義された条件下で空の文字列を作成することによって削除された文字インデックスの総数をカウントするための C アルゴリズム -

ステップ 1
    - まず、文字列変数を定義し、ユーザー指定の文字列を入力します。
  • ステップ 2
  • - 文字列の文字を保持するスタックを作成します。
  • ステップ 3
  • - 文字列を 1 文字ずつループして入力します。
  • ステップ 4
  • - 現在の文字が空の場合は、それをスタックにプッシュします。
  • ステップ 5
  • - 現在の文字とスタックの先頭の文字が同じ場合は、スタックから先頭の文字をポップします。
  • ステップ 6
  • - 現在の文字がスタックの一番上の文字と異なる場合は、それをスタックにプッシュします。
  • ステップ 7
  • - ループ後のスタックには、消去できない文字だけが残ります。
  • ステップ 8
  • - スタック上にまだある文字のインデックスを追加します。
  • ステップ 9
  • - インデックスの総数を表示します。
  • 従うべき方法

  • 方法1

次の条件を使用して文字削除インデックスの合計を計算し、空の文字列を生成します -

この例では、文字列「abacbdc」が入力として使用されます。このコードは、2 つのインデックス i と j を使用して、文字列を最初から最後まで走査します。文字列から文字を削除する条件は次のとおりです。

s[i] と s[j] が等しい場合、両方のインデックスを文字列の中心に移動します。

s[i] が s[j] より小さい場合、インデックス j の文字を削除し、インデックスの合計をインデックス i だけ増やします。

  • s[i] が s[j] より大きい場合、インデックス i の文字を削除し、インデックス合計をインデックス j 1 だけ増やします。

  • すべての文字が削除された後、インデックスの合計をコンソールに報告します。

  • これは単なる例であり、問​​題の性質に応じて文字の削除の要件が変更される可能性があることに注意してください。

示例 1

#include <iostream>
#include <string>

using namespace std;

int main() {
   string s = "abacbdc";
   int sum = 0;
   int i = 0;
   int j = s.length() - 1;
   while (i < j) {
      if (s[i] == s[j]) {
         i++;
         j--;
      } else if (s[i] < s[j]) {
         sum += i + 1;
         i++;
         s.erase(j, 1);
         j--;
      } else {
         sum += j + 1;
         j--;
         s.erase(i, 1);
         i++;
      }
   }
   cout << "Sum of indices of characters removed: " << sum << endl;
   return 0;
}
ログイン後にコピー

输出

Sum of indices of characters removed: 6
ログイン後にコピー

方法2

str 字符串和字符是 sum_of_indices 函数的输入。然后,迭代字符串,确定每个字符是否等于 c。如果是这样,函数会递减循环索引以考虑删除的字符,并将字符的索引添加到运行总数中,然后使用擦除技术从字符串中删除字符。然后该函数返回已消除的字符索引的总数。

示例字符串 str 和字符 c 在 main 函数中定义,这两个输入用于调用 sum_of_indices 函数。总数作为结果打印到控制台。

示例 2

#include <iostream>
#include <string>
using namespace std;
int sum_of_indices(string str, char c) {
   int sum = 0;
   for (int i = 0; i < str.length(); i++) {
      if (str[i] == c) {
         sum += i;
         str.erase(i, 1);
         i--;
      }
   }
   return sum;
}
int main() {
   string str = "abcbcdc";
   char c = 'c';
   int sum = sum_of_indices(str, c);
   cout << "Sum of indices of characters removed to obtain empty string: " << sum << endl;
   return 0;
}
ログイン後にコピー

输出

Sum of indices of characters removed to obtain empty string: 9
ログイン後にコピー

结论

需要操作字符串及其索引来解决根据提供的条件计算消除的字符索引之和以获得空字符串的问题。为了解决这个问题,循环遍历字符串,如果两个连续字符相同,则在更新索引之前删除它们。一旦我们有了一个空字符串,我们就可以添加被删除的字符的索引以产生一个空字符串。

有许多解决方案需要解决,例如利用堆栈或队列来跟踪要删除的字符,或者使用递归来迭代地从字符串中删除字符。

以上が指定された条件に従って次を中国語に翻訳します。指定された条件に従って文字を削除し、空の文字列のインデックスの合計を取得します。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

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

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

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

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

inetpubフォルダーは削除できますか? Cドライブのinetpubフォルダーを簡単に削除する方法 inetpubフォルダーは削除できますか? Cドライブのinetpubフォルダーを簡単に削除する方法 Mar 13, 2024 pm 02:00 PM

パソコンの C ドライブに、多くのメモリを使用する inetpub フォルダーがあることがわかりました。この inetpub フォルダーは何ですか?直接削除できるのでしょうか?実際、inetpub は IIS サーバー上のフォルダーです。IIS の正式名は、Internet Information Services です。Web サイトの構築とデバッグに使用できます。不要な場合は、アンインストールできます。具体的な方法は以下のとおりです。 1. スタートメニューを右クリックし、「プログラムと機能」を選択します。 2. 開いたら、「Windows の機能の有効化または無効化」をクリックします。 3. Windows 機能リストで、II のチェックを外します。

小紅書メモを削除する方法 小紅書メモを削除する方法 Mar 21, 2024 pm 08:12 PM

小紅書メモを削除するにはどうすればよいですか? メモは小紅書アプリで編集できます。ほとんどのユーザーは小紅書メモの削除方法を知りません。次に、エディターがユーザーに小紅書メモの削除方法に関する写真とテキストを提供します。チュートリアル、興味のあるユーザーが来て、それを受講してください見てください!小紅書使い方チュートリアル 小紅書メモの削除方法 1. まず小紅書アプリを開いてメインページに入り、右下隅の[自分]を選択して特別エリアに入ります; 2. 次に、マイエリアで、表示されているメモページをクリックします下の図で、削除したいメモを選択します; 3. メモページに入り、右上隅の [3 つの点] をクリックします; 4. 最後に、下部に機能バーが展開され、[削除] をクリックして完了します。

WeChat でブロックされたり削除されたり、永久に追加できなくなったりする可能性があるというのは本当ですか? WeChat でブロックされたり削除されたり、永久に追加できなくなったりする可能性があるというのは本当ですか? Apr 08, 2024 am 11:41 AM

1. まず、相手を永久にブロックして削除して永久に追加しないのは間違いで、ブロックして削除した後に相手を追加したい場合は、相手の同意だけが必要です。 2. ユーザーが誰かをブロックすると、相手はユーザーにメッセージを送信したり、ユーザーの友達サークルを表示したり、ユーザーと通話したりすることができなくなります。 3. ブロックとは、ユーザーの WeChat 連絡先リストから相手を削除することを意味するものではありません。 4. ユーザーが相手をブロックした後、ユーザーの WeChat 連絡先リストから相手を削除した場合、削除後に回復する方法はありません。 5. ユーザーが相手を再度友達として追加したい場合は、相手が同意してユーザーを再度追加する必要があります。

.000 が見つかったフォルダーは何ですか? found.000フォルダは削除できますか? .000 が見つかったフォルダーは何ですか? found.000フォルダは削除できますか? Mar 13, 2024 pm 08:52 PM

コンピュータを日常的に使用していると、「found.000 ファイルが紛失または破損している」というエラー メッセージが表示されることがあります。この found.000 はどのフォルダですか?役に立たなくなったら削除してもらえますか?このファイルを知らない人が非常に多いので、found.000 フォルダーについて詳しく説明しましょう~ 1. found.000 フォルダーとは何ですか? 不正なシャットダウンによりコンピューターが部分的または完全に失われた場合、 を見つけることができます。 「found.000」という名前の特別なフォルダーと、その中に含まれる「.chk」拡張子を持つファイルは、システム パーティション内の指定されたディレクトリにあります。この「フォ」

Xiaohonshuのリリースを削除するにはどうすればよいですか?削除後に復元するにはどうすればよいですか? Xiaohonshuのリリースを削除するにはどうすればよいですか?削除後に復元するにはどうすればよいですか? Mar 21, 2024 pm 05:10 PM

人気のソーシャル電子商取引プラットフォームとして、Xiaohongshu は日常生活やショッピング体験を共有するために多くのユーザーを魅了してきました。場合によっては、私たちが誤って不適切なコンテンツを公開してしまうことがありますが、個人的なイメージをより良く維持したり、プラットフォームの規制に準拠したりするために、適時に削除する必要があります。 1.Xiaohongshu リリースを削除するにはどうすればよいですか? 1. Xiaohonshu アカウントにログインし、個人のホームページに入ります。 2. 個人ホームページの下部で、「My Creations」オプションを見つけてクリックして入力します。 3. 「My Creations」ページでは、メモやビデオなどを含む、公開されているすべてのコンテンツを確認できます。 4. 削除する必要があるコンテンツを見つけて、右側の「...」ボタンをクリックします。 5. ポップアップ メニューで、[削除] オプションを選択します。 6. 削除を確認すると、個人ホームページおよび公開ページからコンテンツが削除されます。

小紅書に関する他の人の削除されたコメントを取得するにはどうすればよいですか?他の人のコメントを削除した場合も表示されますか? 小紅書に関する他の人の削除されたコメントを取得するにはどうすればよいですか?他の人のコメントを削除した場合も表示されますか? Mar 21, 2024 pm 10:46 PM

小紅書は人気のあるソーシャル電子商取引プラットフォームであり、ユーザー間のインタラクティブなコメントはプラットフォーム上でのコミュニケーション手段として不可欠です。場合によっては、自分のコメントが他の人によって削除されていることがわかり、混乱することがあります。 1. 小紅書で他の人が削除したコメントを取得するにはどうすればよいですか?コメントが削除されたことに気付いた場合は、まずプラットフォーム上で関連する投稿や製品を直接検索して、コメントがまだ見つかるかどうかを確認してください。コメントが削除された後も表示される場合は、元の投稿の所有者によって削除された可能性があります。この時点で、元の投稿の所有者に連絡して、コメントを削除した理由を尋ね、コメントの復元をリクエストしてみてください。コメントが完全に削除され、元の投稿で見つからない場合、プラットフォーム上でコメントが復元される可能性は比較的低いです。他の方法を試すこともできます

hiberfil.sys ファイルとは何ですか? hiberfil.sysは削除できますか? hiberfil.sys ファイルとは何ですか? hiberfil.sysは削除できますか? Mar 15, 2024 am 09:49 AM

最近、多くのネチズンが編集者に「hiberfil.sys ファイルとは何ですか?」と尋ねました。 hiberfil.sys は C ドライブのスペースを多く消費し、削除される可能性がありますか?エディターは、hiberfil.sys ファイルを削除できることを通知します。以下で詳細を見てみましょう。 hiberfil.sys は Windows システムの隠しファイルであり、システム休止状態ファイルでもあります。通常、C ドライブのルート ディレクトリに保存され、そのサイズはシステムに搭載されているメモリのサイズと同等です。このファイルはコンピュータが休止状態になっているときに使用され、リカバリ中に以前の状態にすばやく復元できるように、現在のシステムのメモリ データが含まれています。そのサイズはメモリ容量と等しいため、より多くのハードドライブスペースを占有する可能性があります。冬休み

TikTokのチャット履歴を完全に削除する方法 TikTokのチャット履歴を完全に削除する方法 May 07, 2024 am 11:14 AM

1. Douyin アプリを開き、インターフェイスの下部にある [メッセージ] をクリックし、削除する必要があるチャット会話エントリをクリックします。 2. 任意のチャット記録を長押しし、[複数選択]をクリックし、削除したいチャット記録にチェックを入れます。 3. 右下隅の [削除] ボタンをクリックし、ポップアップ ウィンドウで [削除の確認] を選択して、これらのレコードを完全に削除します。

See all articles