目次
ASCII 値
この問題では、文字の ASCII 値に基づいて昇順でソートされた文字列を見つける必要があります。文字列はユーザ​​ーによって与えられた入力になります。この問題をどのように解決すべきかを見てみましょう。
解決策 1 周波数ベクトルを使用する
ASCII テーブルの文字の総数は 256 であるため、サイズ 256 の周波数ベクトルを作成し、ベクトル全体をゼロで開始します
時間計算量 - O(n); n は文字列のサイズです。ここで、実際の時間計算量は O(n * 256) ですが、O(k * n) は O(n ) としてのみ考慮されるのに対し、256 は k と同様に定数として考慮できるため、O(n) とみなすことができます。 。
空間複雑度 - O(256); ここで占有される唯一の余分な空間は、サイズが 256 の周波数配列の空間であるためです。
ホームページ バックエンド開発 C++ 文字のASCII値で文字列を並べ替える

文字のASCII値で文字列を並べ替える

Sep 07, 2023 pm 08:29 PM
キャラクター ascii 選別

文字のASCII値で文字列を並べ替える

ASCII 値

ASCII (American Standard Code for Information Interchange) は、コンピュータやインターネット上のテキスト データの最も一般的な文字エンコード形式です。標準の ASCII エンコード データでは、256 個の文字、数字、または特別な追加文字と制御コードが固有の値を持ちます。

###問題文###

この問題では、文字の ASCII 値に基づいて昇順でソートされた文字列を見つける必要があります。文字列はユーザ​​ーによって与えられた入力になります。この問題をどのように解決すべきかを見てみましょう。

いくつかの例を使ってこの問題を理解してみましょう。

入力

- s = "$%7wjk()"

出力

- "$%()7jkw"

説明

- 指定された文字列の文字の ASCII 値は次のとおりです - リーリー したがって、ASCII コード値の昇順に、文字列は "$%()7jkw" になります。

入力

- s = "#m 0f )nk"

出力

- "#)0fkmn"

説明

- 指定された文字列の文字の ASCII 値は次のとおりです -

リーリー したがって、ASCII コード値の昇順に、文字列は "#)0fkmn" になります。 問題の説明

問題を理解して解決策を見つけてみましょう。 ASCII テーブルには 256 文字があり、各文字は一意の値または位置を持っていることがわかっています。したがって、私たちの基本的な目標は、それに応じて文字を並べ替えることです。目的を達成するために使用できる外部関数を使用して、組み込みの並べ替え関数を使用できます。別のアプローチは、周波数ベクトルを作成し、その配列に各文字の周波数を格納することです。この周波数ベクトルと ASCII 値を使用して、新しい文字列を取得できます。

解決策 1 周波数ベクトルを使用する

###アルゴリズム###

ASCII テーブルの文字の総数は 256 であるため、サイズ 256 の周波数ベクトルを作成し、ベクトル全体をゼロで開始します

    ループを実行して、指定された文字列の各文字の頻度を保存します
  • ここで、最初は空である出力文字列を定義します
  • 別のループを実行して周波数ベクトルを反復処理します。これにより、i 番目の位置 Frequency_vector[i]
  • を型キャストすることで出力文字列を取得できます。

  • 出力文字列を最終結果として返します
  • ###例###
  • 以下は、上記のメソッドの C プログラム実装です:
  • リーリー ###出力### リーリー

    上記のコードの複雑さ

時間計算量 - O(n); n は文字列のサイズです。ここで、実際の時間計算量は O(n * 256) ですが、O(k * n) は O(n ) としてのみ考慮されるのに対し、256 は k と同様に定数として考慮できるため、O(n) とみなすことができます。 。

空間複雑度 - O(256); ここで占有される唯一の余分な空間は、サイズが 256 の周波数配列の空間であるためです。

    解決策 2 組み込みの並べ替え機能を使用した解決策
  • ###アルゴリズム

  • ソート関数で使用される外部比較関数を定義して、ASCII 値に従って文字をソートします。つまり、int 型の変換値が他の文字より小さい文字を返します。

次に、ヘルパー関数の組み込みソート関数を使用し、追加のパラメーター (比較関数) を使用して順序を正しく取得します。

ヘルパー関数を呼び出して、最終的な文字列出力を取得します。
  • ###例### リーリー ###出力### リーリー

    上記のコードの複雑さ李>
  • 時間計算量: O(log(n)); ご存知のとおり、組み込みの並べ替え関数はコードの実行に O(n * log(n)) 時間を必要とします。この方法では、組み込みの並べ替え関数を使用し、その関数に基づいて文字を並べ替える追加の比較関数を使用します。
  • 空間複雑度: O(1); 上記のコードでは、何らかのデータ構造に変数を格納していません。

###結論は###

この記事では、文字の ASCII 値に基づいて昇順で並べ替えられた文字列が検索されます。この問題は 2 つの方法で解決できます。まず、サイズ 256 (ASCII テーブルの文字数と同じ) の周波数ベクトルを作成し、各文字のすべての周波数を保存し、後ろから反復して目的の文字列を取得します。もう 1 つの方法は、sort 関数で渡される追加パラメータを利用して、組み込みのsort 関数を使用することです。

以上が文字のASCII値で文字列を並べ替えるの詳細内容です。詳細については、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衣類リムーバー

AI Hentai Generator

AI Hentai Generator

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

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

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

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

Windows 11/10で写真を撮影日ごとに並べ替える方法 Windows 11/10で写真を撮影日ごとに並べ替える方法 Feb 19, 2024 pm 08:45 PM

この記事では、Windows 11/10 で写真を撮影日順に並べ替える方法を紹介し、Windows で写真が日付順に並べ替えられない場合の対処法についても説明します。 Windows システムでは、画像ファイルを見つけやすくするために、写真を適切に整理することが重要です。ユーザーは、日付、サイズ、名前などのさまざまな並べ替え方法に基づいて写真を含むフォルダーを管理できます。さらに、必要に応じて昇順または降順を設定して、ファイルをより柔軟に整理できます。 Windows 11/10 で写真を撮影日で並べ替える方法 Windows で写真を撮影日で並べ替えるには、次の手順に従います。 [ピクチャ]、デスクトップ、または写真を配置する任意のフォルダを開きます。 リボン メニューで、

Outlook でメールを送信者、件名、日付、カテゴリ、サイズで並べ替える方法 Outlook でメールを送信者、件名、日付、カテゴリ、サイズで並べ替える方法 Feb 19, 2024 am 10:48 AM

Outlook には、作業をより効率的に管理するための多くの設定と機能が用意されています。その 1 つは、ニーズに応じてメールを分類できる並べ替えオプションです。このチュートリアルでは、Outlook の並べ替え機能を使用して、送信者、件名、日付、カテゴリ、サイズなどの基準に基づいてメールを整理する方法を学習します。これにより、重要な情報の処理と検索が容易になり、生産性が向上します。 Microsoft Outlook は、電子メールやカレンダーのスケジュールを簡単に一元管理できる強力なアプリケーションです。電子メールの送受信、整理が簡単にできるほか、内蔵のカレンダー機能により今後のイベントや予定を簡単に追跡できます。 Outlo の使い方

PHP 開発: テーブル データのソート機能とページング機能を実装する方法 PHP 開発: テーブル データのソート機能とページング機能を実装する方法 Sep 20, 2023 am 11:28 AM

PHP 開発: テーブル データのソート機能とページング機能を実装する方法 Web 開発では、大量のデータを処理するのが一般的なタスクです。大量のデータを表示する必要があるテーブルの場合、通常、優れたユーザー エクスペリエンスを提供し、システム パフォーマンスを最適化するために、データの並べ替え機能とページング機能を実装する必要があります。この記事では、PHP を使用してテーブル データのソート機能とページング機能を実装する方法と、具体的なコード例を紹介します。ソート機能はテーブルにソート機能を実装しており、ユーザーはさまざまなフィールドに従って昇順または降順でソートできます。以下は実装フォームです

Java の Arrays.sort() メソッドはカスタム コンパレータによって配列をどのようにソートしますか? Java の Arrays.sort() メソッドはカスタム コンパレータによって配列をどのようにソートしますか? Nov 18, 2023 am 11:36 AM

Java の Arrays.sort() メソッドはカスタム コンパレータによって配列をどのようにソートしますか? Java では、Arrays.sort() メソッドは配列を並べ替えるのに非常に便利なメソッドです。デフォルトでは、このメソッドは昇順で並べ替えます。ただし、場合によっては、独自に定義したルールに従って配列を並べ替える必要があります。このとき、カスタムコンパレータ(Comparator)を使用する必要があります。カスタム コンパレータは、Comparator インターフェイスを実装するクラスです。

C++ プログラム: 単語の位置をアルファベット順に並べ替えます。 C++ プログラム: 単語の位置をアルファベット順に並べ替えます。 Sep 01, 2023 pm 11:37 PM

この問題では、文字列が入力として与えられ、その文字列に出現する単語を辞書順に並べ替える必要があります。これを行うには、文字列内の各単語 (スペースで区切られている) に 1 から始まるインデックスを割り当て、ソートされたインデックスの形式で出力を取得します。 String={"Hello","World"}"Hello"=1 "World"=2 入力文字列内の単語は辞書編集順であるため、出力には「12」が出力されます。いくつかの入力/結果のシナリオを見てみましょう - 入力文字列内のすべての単語が同じであると仮定して、結果を見てみましょう - 入力:{"hello","hello","hello"}結果:3 取得された結果

WPS スコアを並べ替える方法 WPS スコアを並べ替える方法 Mar 20, 2024 am 11:28 AM

私たちの仕事では、wps ソフトウェアをよく使用します。wps ソフトウェアではデータを処理する方法がたくさんあり、機能も非常に強力です。平均値や要約などを求める関数をよく使用します。統計データに使用できるメソッドは、WPS ソフトウェア ライブラリで誰でも利用できるように用意されています。以下では、WPS でスコアをソートする手順を紹介します。これを読んだ後、経験から学ぶことができます。 1. まず、ランク付けする必要があるテーブルを開きます。以下に示すように。 2. 次に、数式 =rank(B2, B2: B5, 0) を入力します。必ず 0 を入力してください。以下に示すように。 3. 数式を入力した後、コンピュータのキーボードの F4 キーを押すと、相対参照が絶対参照に変更されます。

matplotlibで中国語の文字を表示する正しい方法 matplotlibで中国語の文字を表示する正しい方法 Jan 13, 2024 am 11:03 AM

matplotlib で中国語の文字を正しく表示することは、多くの中国人ユーザーがよく遭遇する問題です。デフォルトでは、matplotlib は英語フォントを使用するため、中国語の文字を正しく表示できません。この問題を解決するには、正しい中国語フォントを設定し、それを matplotlib に適用する必要があります。以下は、matplotlib で中国語の文字を正しく表示するのに役立ついくつかの具体的なコード例です。まず、必要なライブラリをインポートする必要があります: importmatplot

データ統計を容易にするために WPS テーブルをソートする方法 データ統計を容易にするために WPS テーブルをソートする方法 Mar 20, 2024 pm 04:31 PM

WPS は、テキスト編集、データ テーブル、PPT プレゼンテーション、PDF 形式、フローチャート、その他の機能を含む、非常に完成度の高いオフィス ソフトウェアです。その中でも私たちがよく使うのはテキスト、表、デモであり、私たちにとって最も馴染みのあるものでもあります。私たちの研究では、データ統計を作成するために WPS テーブルを使用することがあります。たとえば、学校は各生徒の得点を数えます。非常に多くの生徒の得点を手動で並べ替える必要がある場合、本当に頭の痛い作業になります。実際、WPS テーブルにはこの問題を解決する並べ替え機能があるため、心配する必要はありません。次に、WPS を並べ替える方法を一緒に学びましょう。方法のステップ: ステップ 1: まず、並べ替える必要がある WPS テーブルを開く必要があります。

See all articles