arr が arr] になるように配列を再配置し、O(1) 個の余分なスペースのみを使用します。C++ で実装されています。
正の整数型の配列、たとえば、任意のサイズの arr[] を取得します。配列内の要素の値は 0 より大きく、サイズより小さい必要があります。配列。任務は再配置することです 指定された O(1) 空間内で arr[i] を arr[arr[i]] に変換するだけの配列で、最終結果を出力します。
この状況におけるさまざまな入出力シナリオを見てみましょう -
Input- int arr[] = {0 3 2 1 5 4 }
出力- ソート前の配列: 0 3 2 1 5 4 arr[i] が arr[arr[i]] になるように配列を再配置し、O(1) 個の余分なスペースを追加します: 0 1 2 3 4 5
説明- Define を与えます。サイズ 6 の整数配列、配列内のすべての要素の値が 6 未満です。ここで、arr[arr[0]] が 0、arr[arr[1]] が 1、arr[arr [2]] が 2、arr[arr[3]] が 3、arr[ になるように配列を再配置します。 arr[4]] は 4、arr[arr[5]] は 5 です。したがって、再配置後の最終配列は 0 1 2 3 4 5.
input− int arr[] = {1, 0}
output − ソート前の配列: 1 0 arr[i] が arr[arr[i]] になるように配列を再配置します。ここで、O(1) 個の余分なスペースは次のとおりです: 0 1
説明 - サイズ 2 の整数を取得します。配列内のすべての要素が 2 未満の値を持つ配列。ここで、arr[arr[0]] が 1、arr[arr[1]] が 0 になるように配列を再配置します。したがって、再配置後の最終的な配列は 0 1 になります。
Input- int arr[] = {1, 0, 2, 3}
Output-ソート前の配列: 1 0 2 3 arr[i] が arr[arr[i]] になるように配列を再配置し、O(1) 個の余分なスペースを追加します: 0 1 2 3
説明 - サイズを指定します。 4 の整数配列であり、配列内のすべての要素は 4 未満の値を持ちます。ここで、arr[arr[0]] が 0、arr[arr[1]] が 1、arr[arr[2] ]] が 2、arr[arr[3]] が 3 になるように配列を再配置します。したがって、再配置後の最終的な配列は 0 1 2 3 になります。
次のプログラムで使用するメソッドは次のとおりです。
整数要素の配列を入力し、配列のサイズを計算します
配列を出力する前に関数を呼び出します 再配置 (arr, size)
-
関数内部再配置 (arr, size)
i からループ FOR を開始しますi が size 未満になるまで 0 になります。ループ内で、temp を arr[arr[i]] % size および arr[i] = temp * size に設定します。
i が size 未満になるまで、i から 0 まで FOR のループを開始します。ループ内で、arr[i] = arr[i] / size
を設定して結果を出力します。
例
#include <bits/stdc++.h> using namespace std; void Rearrangement(int arr[], int size){ for(int i=0; i < size; i++){ int temp = arr[arr[i]] % size; arr[i] += temp * size; } for(int i = 0; i < size; i++){ arr[i] = arr[i] / size; } } int main(){ //input an array int arr[] = {0, 3, 2, 1, 5, 4}; int size = sizeof(arr) / sizeof(arr[0]); //print the original Array cout<<"Array before Arrangement: "; for (int i = 0; i < size; i++){ cout << arr[i] << " "; } //calling the function to rearrange the array Rearrangement(arr, size); //print the array after rearranging the values cout<<"\nRearrangement of an array so that arr[i] becomes arr[arr[i]] with O(1) extra space is: "; for(int i = 0; i < size; i++){ cout<< arr[i] << " "; } return 0; }
出力
上記のコードを実行すると、次の出力が生成されます
Array before Arrangement: 0 3 2 1 5 4 Rearrangement of an array so that arr[i] becomes arr[arr[i]] with O(1) extra space is: 0 1 2 3 4 5
以上がarr が arr] になるように配列を再配置し、O(1) 個の余分なスペースのみを使用します。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)

ホットトピック









質問: C プログラムを使用して、配列のポストインクリメントとプリインクリメントの概念を説明します。解決策 インクリメント演算子 (++) - 変数の値を 1 増やすために使用されるインクリメント演算子には、前置インクリメントと後置インクリメントの 2 種類があります。先頭に追加されたインクリメントでは、インクリメント演算子がオペランドの前に配置され、最初に値がインクリメントされてから演算が実行されます。例:z=++a;a=a+1z=a インクリメント演算子はポストインクリメント演算のオペランドの後に配置され、演算の完了後に値が増加します。例:z=a++;z=aa=a+1 プリインクリメントとポストインクリメントを使用してメモリ位置内の特定の要素にアクセスする例を考えてみましょう。サイズ 5 の配列を宣言し、コンパイル時の初期化を実行します。その後、変数 'a' に事前インクリメント値を割り当ててみます。 a=++arr[1]

配列への新しい要素の追加は Java の一般的な操作であり、さまざまな方法を使用して実行できます。この記事では、配列に要素を追加する一般的な方法をいくつか紹介し、対応するコード例を示します。 1. 新しい配列を使用する一般的な方法は、新しい配列を作成し、元の配列の要素を新しい配列にコピーし、新しい配列の末尾に新しい要素を追加することです。具体的な手順は次のとおりです。 元の配列より 1 大きいサイズの新しい配列を作成します。新しい要素が追加されるためです。元の配列の要素を新しい配列にコピーします。新しい配列の末尾に追加します
![arr が arr] になるように配列を再配置し、O(1) 個の余分なスペースのみを使用します。C++ で実装されています。](https://img.php.cn/upload/article/000/000/164/169319478769496.jpg?x-oss-process=image/resize,m_fill,h_207,w_330)
正の整数型の配列、たとえば、任意のサイズの arr[] を取得します。配列内の要素の値は 0 より大きく、配列のサイズより小さい必要があります。このタスクは、指定された O(1) 空間内で arr[i] を arr[arr[i]] に変更するだけで配列を再配置し、最終結果を出力することです。この状況のさまざまな入出力シナリオを見てみましょう。 − 入力 − intarr[] = {032154} 出力 − 配置前の配列: 032154 arr[i] が arr[arr[i]] になるように配列を再配置します。And has O( 1) 余分なスペース: 012345 説明 - サイズ 6 の整数配列が与えられ、配列内のすべての要素の値は 6 未満です。では、並べ替えていきます

PHP における配列の基本操作と使い方 1. 概要 配列は PHP において非常に重要なデータ型であり、複数の値を格納するために使用でき、これらの値にはインデックスまたはキーを通じてアクセスできます。 PHPには配列の操作や使い方が豊富にありますが、この記事ではPHPにおける配列の基本的な操作や使い方を詳しく紹介します。 2. 配列の作成 PHP では、可算配列と連想配列の 2 つの方法で配列を作成できます。可算配列の作成 可算配列は、順番に配置され、数値的にインデックスが付けられた配列です。

Java は、配列とジェネリックを利用してスタックを実装します。これにより、後入れ先出し (LIFO) 原則に基づいて動作する多用途で再利用可能なデータ構造が作成されます。この原則に従い、要素は上から追加および削除されます。配列をベースとして利用することで、効率的なメモリ割り当てとアクセスが保証されます。さらに、ジェネリックを組み込むことで、スタックはさまざまなタイプの要素に対応できるようになり、その汎用性が高まります。実装には、ジェネリック型パラメーターを含む Stack クラスの定義が含まれます。これには、push()、pop()、peek()、isEmpty() などの基本的なメソッドが含まれています。スタックのオーバーフローやアンダーフローなどのエッジ ケースの処理も、シームレスな機能を確保するために重要です。この実装により、開発者は次のようなプログラムを作成できます。

配列は、同じ型の要素の連続したコレクションです。配列はデータのコレクションを格納するために使用されますが、多くの場合、配列を同じ型の変数のコレクションと考える方が便利です。 number0、number1、...、number99 などの単一の変数を宣言する代わりに、配列変数 (例:number) を宣言し、numbers[0]、numbers[1]、および ...、numbers[99] を使用して表すことができます。それぞれの変数。配列内の特定の要素には、インデックスを使用してアクセスします。すべての配列は、連続したメモリ位置で構成されます。最も低いアドレスは最初の要素に対応し、最も高いアドレスは最後の要素に対応します。配列の宣言配列を宣言するには、要素のタイプと必要な要素の数を指定する必要があります。配列は以下の通り -ty

正と負の数値を含む整数型の配列 (たとえば、任意のサイズの arr[]) を取得します。タスクは、偶数の位置またはインデックスにあるすべての要素が奇数の位置またはインデックスにある要素より大きくなるように配列を再配置し、結果を出力することです。このためのさまざまな入出力シナリオを見てみましょう - 入力 −intarr[]={2,1,4,3,6,5,8,7} 出力 − 配置前の配列: 21436587 偶数の位置になるように配列を再配置します。奇数位置より大きい: 12345678 説明 - 正と負の因数を含むサイズ 8 の整数配列を取得します。ここで、偶数位置のすべての要素が奇数位置の要素よりも大きくなるように配列を再配置します。

JS組み込みオブジェクトの機能と特徴を徹底分析 JavaScriptはオブジェクトベースのプログラミング言語であり、さまざまな豊富な機能と特徴を備えた組み込みオブジェクトが多数用意されています。この記事では、一般的に使用されるいくつかの組み込みオブジェクトを詳細に分析し、対応するコード例を示します。 Math オブジェクト Math オブジェクトは、べき乗、平方根、対数など、いくつかの基本的な数学演算メソッドを提供します。以下に、一般的に使用される Math オブジェクト メソッドの例をいくつか示します。 //絶対値を求める Math.abs(-10
