指定された文字列の順列が別の指定された文字列よりも辞書編集的に大きいかどうかをチェックします
2 つの文字列が与えられており、指定された文字列の順列が存在するかどうかを確認して、i 番目のインデックス文字で一方の順列が他方の順列よりも大きな値を持つことができるかどうかを確認する必要があります。の。
文字列をソートし、文字列内の各文字を 1 つずつ比較することで、この問題を解決できます。あるいは、2 つの文字列の文字頻度を使用して問題を解決することもできます。
問題文 - 長さ N の文字列 str1 と str2 が与えられています。辞書編集的に一方が他方よりも大きくなるような文字列の順列があるかどうかを確認する必要があります。これは、すべての順列の i 番目のインデックスに、別の文字列順列の i 番目のインデックスの文字よりも大きい文字が含まれている必要があることを意味します。
###例### 入力- str1 = "aef"; str2 = "fgh";
出力–はい
説明– 「fgh」はすでに「aef」よりも大きくなっています。ここで、a>f、g>e、h>fである。
入力– str1 = "adsm"; str2 = "obpc";
出力–いいえ
説明– 一方の文字列のすべての文字がもう一方の文字列よりも大きい配置は見つかりません。 方法1
このメソッドでは、2 つの文字列を辞書順に並べ替えます。次に、文字列の各文字を比較します。 str1 のすべての文字が str2 より小さい場合、または str2 のすべての文字が str1 より小さい場合、true を返します。それ以外の場合は false を返します。
###アルゴリズム###
sort() メソッドを使用して文字列を並べ替えます。
isStr1Greater ブール変数を定義し、true で初期化します。
- ##文字列をトラバースし、str1 の i 番目のインデックス位置にある文字が str2 より小さい場合、isStr1Greater の値を false に更新し、break キーワードを使用してループを中断します
- isStr1Greater が true の場合、ループは正常に完了し、true を返します。
- 次に、文字列を反復処理して、str2 が str1 より大きいかどうかを確認します。 str1 の文字が str2 より大きい場合は、false を返します。
- ループが正常に完了した場合は true を返します。 ###例### リーリー ###出力### リーリー
- 時間計算量 - O(N*logN)、文字列をソートするため。
このメソッドでは、両方の文字列の各文字の合計頻度を保存します。その後、累積頻度を使用して、一方が他方よりも大きくなるような文字列の順列を見つけることができるかどうかを判断します。
###アルゴリズム###
長さ 26 の配列map1とmap2を定義し、それらをゼロに初期化します。 str1の文字の頻度をmap1に格納し、str2の文字の頻度をmap2に格納します。 isStr1 および isStr2 ブール変数を定義し、それらを false に初期化して、str1 が str2 より大きいかどうかを追跡します。- cnt1 変数と cnt2 変数を定義して、文字列文字の累積頻度を保存します。
- マップ 1 とマップ 2 を移動します。 cnt1にmap1[i]を追加し、cnt2にmap2[i]を追加します。
- cnt1 が cnt2 より大きい場合、str1 から i 番目のインデックスまでの文字の累積頻度は大きくなります。そうである場合、かつ str2 がすでに大きい場合は、false を返します。それ以外の場合は、isStr1 を true
- に変更します。 cnt2 が cnt1 より大きい場合、str2 の i 番目のインデックスにある文字の累積頻度は大きくなります。そうであって、str1 がすでに大きい場合は、false を返します。それ以外の場合は、isStr2 を true
- に変更します。 最終的に true を返します。
-
###例### リーリー ###出力### リーリー
文字の頻度をカウントするため、時間計算量 - O(N)。 - 空間計算量 - O(26)、文字の頻度を配列に保存するため。
以上が指定された文字列の順列が別の指定された文字列よりも辞書編集的に大きいかどうかをチェックしますの詳細内容です。詳細については、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)

ホットトピック









現在、携帯電話の高性能化・高機能化が進み、ほとんどの携帯電話にはモバイル決済や本人認証などに便利なNFC機能が搭載されています。ただし、一部の Xiaomi 14Pro ユーザーは、NFC 機能を有効にする方法がわからないかもしれません。次に詳しくご紹介していきます。 Xiaomi 14ProでNFC機能を有効にする方法は?ステップ 1: 携帯電話の設定メニューを開きます。ステップ 2: 「接続と共有」または「ワイヤレスとネットワーク」オプションを見つけてクリックします。ステップ 3: [接続と共有] または [ワイヤレスとネットワーク] メニューで、[NFC と支払い] を見つけてクリックします。ステップ 4: 「NFC スイッチ」を見つけてクリックします。通常、デフォルトはオフです。ステップ 5: NFC スイッチ ページで、スイッチ ボタンをクリックしてオンに切り替えます。

弊社でよく使っているオフィスソフトはWPSですが、長文の編集ではフォントが小さすぎて見づらい場合が多いので、フォントや文書全体を調整します。たとえば、文書の行間を調整すると、文書全体が非常に鮮明になります。友達全員にこの操作手順を覚えてもらうことをお勧めします。今日はそれを共有します。具体的な操作手順は次のとおりです。ぜひ見てください。調整したいWPSテキストファイルを開き、[スタート]メニューの段落設定ツールバーに小さな行間設定アイコン(図の赤丸部分)が表示されます。 2. 行間隔設定の右下隅にある小さな逆三角形をクリックすると、対応する行間隔の値が表示され、行間隔の 1 ~ 3 倍を選択できます (図の矢印で示すように)。 3. または、段落を右クリックすると、段落が表示されます。

画面の空中スライドは、Huawei mate60シリーズで高く評価されているHuaweiの機能であり、この機能は、携帯電話のレーザーセンサーとフロントカメラの3D深度カメラを使用して、画面を必要としない一連の機能を完了します。画面をタッチする機能は、たとえば、離れた場所から TikTok を使用することですが、Huawei Pocket 2 では、離れた場所から TikTok をどのように使用すればよいでしょうか? Huawei Pocket2で空中からスクリーンショットを撮るにはどうすればよいですか? 1. Huawei Pocket2 の設定を開きます。 2. [アクセシビリティ] を選択します。 3. クリックして [Smart Perception] を開きます。 4. [Air Swipe Screen]、[Air Screenshot]、[Air Press] スイッチをオンにするだけです。 5.使用するときは、画面から20〜40CM離れて立ち、手のひらを開いて、手のひらアイコンが画面に表示されるまで待つ必要があります。

iPhone 16 ProのCADファイルが公開されており、そのデザインは以前の噂と一致しています。昨年の秋、iPhone 15 Proにはアクションボタンが追加されましたが、今秋、Appleはハードウェアのサイズに若干の調整を行う予定のようです。キャプチャボタンの追加 噂によると、iPhone 16 Proには2つ目の新しいボタンが追加される可能性があり、昨年に続き2年連続で新しいボタンが追加されることになります。新しいキャプチャボタンはiPhone 16 Proの右下に設置されると噂されており、このデザインによりカメラ制御がより便利になり、アクションボタンも他の機能に使用できるようになると予想されています。このボタンは単なるシャッターボタンではなくなります。カメラに関しては現行iPより

Microsoft Teams では選択できる言語がたくさんありますが、言語を切り替えるにはどうすればよいですか?ユーザーは、メニューをクリックし、[設定] を見つけて、そこで [全般] を選択し、[言語] をクリックして言語を選択し、保存する必要があります。この言語切り替え方法の概要では、具体的な内容を説明します。以下は詳細な概要です。見てください。バー! Microsoft Teams で言語を切り替える方法 回答: [設定]-[一般]-[言語] で特定のプロセスを選択します: 1. まず、アバターの横にある 3 つの点をクリックして設定を入力します。 2. 次に、内部の一般オプションをクリックします。 3. 次に、言語をクリックし、下にスクロールしてその他の言語を表示します。 4. 最後に、「保存して再起動」をクリックします。

Redmi K70Eは間違いなく優れており、価格が2,000元強の携帯電話としては、このクラスの携帯電話の中で最もコスト効率の高い携帯電話の1つと言えます。コストパフォーマンスを追求する多くのユーザーが、Redmi K70Eのさまざまな機能を体験するためにこの携帯電話を購入しています。それでは、Redmi K70Eのカスタム着信音を設定するにはどうすればよいですか? Redmi K70Eのカスタム着信音を設定するにはどうすればよいですか? Redmi K70Eのカスタム着信音を設定するには、以下の手順に従ってください: 携帯電話の設定アプリケーションを開き、設定アプリケーションで「サウンドとバイブレーション」または「サウンド」オプションを見つけ、「着信音」をクリックします。または「電話の着信音」オプション。着信音設定で

C 言語と PHP の違いと比較分析 C 言語と PHP はどちらも一般的なプログラミング言語ですが、多くの点で明らかな違いがあります。この記事では、C 言語と PHP を比較分析し、具体的なコード例を通して両者の違いを説明します。 1. 構文と使用法: C 言語: C 言語はプロセス指向のプログラミング言語であり、主にシステムレベルのプログラミングと組み込み開発に使用されます。 C 言語の構文は比較的単純で低レベルであり、メモリを直接操作でき、効率的かつ柔軟です。 C言語はプログラマのプログラムの完全性を重視します

PHP7.2と5のメリットとデメリットの比較と分析。 PHPは非常に人気のあるサーバーサイドスクリプト言語であり、Web開発で広く使用されています。ただし、PHP は常に更新され、ニーズの変化に応じてさまざまなバージョンで改良されています。現在、PHP7.2 が最新バージョンですが、以前の PHP5 バージョンと比較して多くの注目すべき違いと改善点があります。この記事では、PHP7.2 と PHP5 のバージョンを比較し、それぞれの長所と短所を分析し、具体的なコード例を示します。 1. パフォーマンスPH
