C++ プログラム: 左右の回転が同じで最も長い数値の部分列を検索します。
この問題では、左右の回転が同じ場合のサブシーケンスの最大長を見つける必要があります。左回転とは、文字列内のすべての文字を左に移動し、最初の文字を末尾に移動することを意味します。右回転とは、すべての文字列文字を右に移動し、最後の文字を先頭に移動することを意味します。
問題ステートメント – 数値を含む文字列 str が与えられ、同じ左右の回転で最大長のサブシーケンスを見つける必要があります。
###例### 入力-str="323232",
出力– 6
説明- 左右の回転が同じ場合の最長のサブシーケンスは「323232」です。左に回転すると「232323」、右に回転すると「232323」になります。
入力-str = '00010100'
出力– 6
説明– 同じ左右の回転を持つ最長のサブシーケンスは「000000」です。
入力-str = '092312110431010'
出力– 6
説明– 同じ左右の回転を持つ長さ 6 のサブシーケンスが 2 つ考えられます。 1 つ目は「010101」、2 つ目は「101010」です。 方法1
このメソッドでは、指定された文字列の考えられるすべてのサブシーケンスを検索します。次に、文字列の左右の回転が同じかどうかを確認します。再帰的方法を使用して、考えられるすべてのサブシーケンスを見つけます。
###アルゴリズム###
「maxLen」グローバル変数をゼロに初期化し、左回転と右回転で同じ最長のサブシーケンスの長さを格納します。
isRightSameLeft() 関数を定義して、文字列の左回転と右回転が同じかどうかを確認します。
- 関数内で、substr() メソッドを使用して文字列を左右に回転します。
- getAllSubSeq() 関数は、指定された文字列の考えられるすべてのサブシーケンスを検索するために使用されます。
基本ケースを定義します。 str が空の場合、サブシーケンスを取得し、isRightSameLeft() 関数を実行して、サブシーケンスの左右の回転が同じかどうかを確認します。その場合、「maxLen」変数の長さが「maxLen」の現在の値より大きい場合は、その値を更新します。
「str」から最初の文字を削除し、「out」文字列を追加した後、再帰呼び出しを行います。
最初の文字を削除し、「out」文字列を変更しないままにした後、別の再帰関数呼び出しを実行します。この再帰呼び出しでは、「str」の最初の文字を除外します。
-
###例###
リーリー
###出力###
リーリー
時間計算量 - O(N*2N)。ここで、左右の回転を比較するには O(N)、考えられるすべてのサブシーケンスを見つけるには O(2N) を使用します。
スペースの複雑さ - 余分なスペースを使用しないため、O(1)。
方法 2
ここでは、上記の方法を最適化しました。サンプル入力の解を観察できます。サブシーケンスの左回転と右回転が同じになるのは、サブシーケンスに同じ文字が含まれるか、2 つの異なる文字が交互に含まれ、長さが偶数である場合のみです。
###アルゴリズム###
2 つのネストされたループを使用して、任意の 2 つの数値を結合します。
'cnt' 変数を定義して、2 つの数値を交互に含む部分列の長さを見つけ、それをゼロに初期化します。
- 次の文字が i 番目の文字であるべきか j 番目の文字であるべきかを追跡するために、ブール型の「最初の」変数を定義します。
-
-
空間の複雑さ - O(1)。動的空間を使用しないためです。
このチュートリアルでは、同じ左右の回転を含む最長のサブシーケンスを見つける 2 つの方法を説明します。最初の方法は単純な方法です。この方法は非常に時間がかかり、大量の入力には使用できません。 -
2 番目の方法は最適化されており、その時間計算量は O(N) にほぼ等しいです。
以上がC++ プログラム: 左右の回転が同じで最も長い数値の部分列を検索します。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

ホットトピック









ライフスタイル共有プラットフォームとして、Xiaohongshu では、自分のビデオ コンテンツを公開し、他のユーザーと日常生活を共有することを選択するユーザーが増えています。多くのユーザーはビデオを投稿するときに問題に遭遇するかもしれません。自分または他の人がビデオを投稿した時間を確認するにはどうすればよいですか? 1.Xiaohongshuがビデオをリリースした時間を確認するにはどうすればよいですか? 1. 動画を投稿した時間を確認する 動画を投稿した時間を確認するには、まず小紅書アプリを開いて個人アカウントにログインする必要があります。個人ホームページのインターフェイスの下部に「作成」というオプションがあり、クリックして入力すると、「ビデオ」という列が表示されます。ここでは、公開されているすべてのビデオのリストを参照し、いつ公開されたかを簡単に確認できます。各動画の右上に「詳細を見る」ボタンがあります。

スタンバイは、iPhone が充電器に接続され、水平 (または横) 向きになっているときにアクティブになるロック画面モードです。これは 3 つの異なる画面で構成されており、そのうちの 1 つは全画面表示されます。時計のスタイルを変更する方法については、この記事を読んでください。 StandBy の 3 番目の画面には、垂直にスワイプできるさまざまなテーマで時刻と日付が表示されます。一部のテーマでは、温度や次のアラームなどの追加情報も表示されます。時計を押し続けると、デジタル、アナログ、ワールド、ソーラー、フローティングなどのさまざまなテーマを切り替えることができます。 Float はカスタマイズ可能な色の大きなバブル数字で時間を表示します。Solar はさまざまな色の太陽フレアのデザインを備えたより標準的なフォントを持ち、World は世界を強調表示して表示します。

ラップトップで 1 ~ 9 の数字を入力できないのは、設定の問題が原因です。解決策は次のとおりです: 1. 「win+r」を押してファイル名を指定して実行を開き、cmd と入力して Enter を押します; 2. コマンド プロンプト インターフェイスで、次のように入力します。 osk を押して Enter キーを押します; 3. 仮想キーボードの「オプション」をクリックし、「テンキーをオンにする」にチェックを入れます; 4. 「numlock キー」を有効にします。

乱数や英数字の文字列を生成する機能は、多くの状況で役立ちます。これを使用して、ゲーム内のさまざまな場所に敵や食べ物をスポーンできます。これを使用して、ユーザーにランダムなパスワードを提案したり、ファイルを保存するためのファイル名を作成したりすることもできます。 PHP でランダムな英数字文字列を生成する方法に関するチュートリアルを書きました。この投稿の冒頭で、真にランダムなイベントはほとんどないと述べましたが、乱数や文字列の生成にも同じことが当てはまります。このチュートリアルでは、JavaScript で擬似ランダムな英数字文字列を生成する方法を説明します。 JavaScript での乱数の生成 まずは乱数を生成してみましょう。最初に思い浮かぶメソッドは Math.random() です。これは浮動小数点を返します。

数値を出力として表現することは、どの言語でプログラムを作成する場合でも興味深い、重要な作業です。整数型 (short、long、または Medium 型のデータ) の場合、出力として数値を表すのは簡単です。浮動小数点数 (float または double 型) の場合、特定の小数点以下の桁数に四捨五入する必要がある場合があります。たとえば、52.24568 を小数点以下 3 桁で表現したい場合は、前処理が必要です。この記事では、浮動小数点数を四捨五入して特定の小数点以下の桁数に表現するいくつかのテクニックを紹介します。さまざまなアプローチの中でも、C に似たフォーマット文字列を使用すること、precision 引数を使用すること、および数学ライブラリのround() 関数を使用することが重要です。一つずつ見ていきましょう。と

私たちは皆、2、3、5、7、8 など、数の 2 乗ではない数字を知っています。非正方形の数は N 個あり、すべての数を知ることは不可能です。そこで、この記事では、平方なしまたは非平方数と、C++ で N 番目の非平方数を見つける方法についてすべて説明します。 N 番目の非平方数 数値が整数の 2 乗である場合、その数値は完全平方と呼ばれます。完全平方数の例としては、-1issquareof14issquareof29issquareof316issquareof425issquareof5 などがあります。数値がどの整数の平方でもない場合、その数値は非正方形と呼ばれます。たとえば、最初の 15 個の非平方数は -2、3、5、6 です。

PHP プログラミング言語では、is_numeric() 関数は非常によく使用される関数で、変数または値が数値かどうかを判断するために使用されます。実際のプログラミングでは、ユーザーが入力した値が数値型であるかどうかを検証する必要がある場合が多く、この場合には is_numeric() 関数を使用して判定することができます。 1. is_numeric() 関数の概要 is_numeric() 関数は、変数または値が数値であるかどうかを検出するために使用される関数です。変数または値が数値の場合は true を返します

この記事では、2 から 10 までのどの数値でも割り切れない 1 から n (指定された) までの数値を見つける問題について説明します。いくつかの例でこれを理解しましょう - 入力:num=14出力:3説明:Therearethreenumbers,1,11,and13,thatarenotdivisible.Input:num=21Output:5説明:Therearefivenumbers1,11,13,17,and19,thatarenotdivisible. 解決済み シンプルなメソッド if
