サイズ N (4 の倍数のサイズ) の整数配列が与えられているので、次のようにする必要があります。 input[1-4] が次のようになるように配列に対して XOR 演算を実行します。 utility_arr[1-4] と計算条件は if arr[1 – 4] = {a1, a2, a3, a4} 次に、q[1 – 4] = {a1 ⊕ a2 ⊕ a3, a1 ⊕ a2 ⊕ a4, a1 ⊕ a3 ⊕ a4, a2 ⊕ a3 ⊕ a4}
この状況のさまざまな入力を見てみましょう。 出力シナリオ-
In − int[] input = { 5, 2, 3, 4 };
Out − XOR 結果演算後 4 3 2 5
説明-XOR ゲートの出力は、その 2 つの入力端子が「異なる」論理レベルにある場合にのみ「ハイ」になります。入力 A と B の両方が論理レベル「1」または「0」の場合、出力は「0」になり、ゲートは「偶数ゲートではなく奇数ゲート」になります。つまり、入力に 1 が奇数個ある場合、出力は「1」になります。
a1 ⊕ a2 ⊕ a3 = 5 ⊕ 2 ⊕ 3 = 4
a1 ⊕ a2 ⊕ a4 = 5 ⊕ 2 ⊕ 4 = 3
a1 ⊕ a3 ⊕ a4 = 5⊕ 3 ⊕ 4 = 2
a2 ⊕ a3 ⊕ a4 = 2 ⊕ 3 ⊕ 4 = 5
In − int[] input = { 7, 6, 4, 4, 3, 8, 9, 5 };
Out − XOR 演算後の結果 5 5 7 6 2 14 15 4
説明 - XOR ゲートの出力は、その 2 つの入力端子が互いに「異なる」論理レベルにある場合にのみ「ハイ」になります。入力 A と B の両方が論理レベル「1」または「0」の場合、出力は「0」になり、ゲートは「偶数ゲートではなく奇数ゲート」になります。つまり、入力に 1 が奇数個ある場合、出力は「1」になります。 input[] サイズが 4 の倍数である場合にのみ機能します。他のサイズの入力配列では、奇数の位置に数値の代わりに 0 が表示されます。
XOR 演算後の結果 5 5 7 6 2 14 15 4
次のプログラムで使用されるメソッドは次のとおりです-
によるとXOR a ⊕ a = 0 および a ⊕ 0 = a のプロパティ。 (a ⊕ b ⊕ c) ⊕ (b ⊕ c ⊕ d) = a ⊕ d (As (b ⊕ c) ⊕ (b ⊕ c) = 0)
For計算 配列を 4 つのグループに分割し、XOR の性質に従って各グループの結果を計算します。
上記のプロパティを参照すると、(a ⊕ d) を使用して b と c を計算できます。 (a ⊕ b ⊕ d) ⊕ (a ⊕ d) = b (a ⊕ c ⊕ d) ⊕ (a ⊕ d) = c
b と c を使用すると、次のようにして a と d を取得できます。 (a ⊕ b ⊕ c) ⊕ (b) ⊕ (c) = a (b ⊕ c ⊕ d) ⊕ (b) ⊕ (c) = d
4 つのグループすべてに対してプロセスを繰り返します
-
Use 2ポインタ i と j は、配列の長さが 4 で割られるまでループを繰り返し、一時的な値 (ans) とユーティリティ配列 (答えを保存するため) を導入します。
-
for ループで次の XOR 演算を実装します。
ans= input array[i] ⊕ input array[i 3]
Utility array [ i 1] (b を計算) = 入力配列 [i 1] ⊕ ans
実際の配列 [i 2] (c を計算) = 入力配列 [i 2] ⊕ ans
実際の配列 [ i](a を計算) = 入力配列[i]⊕((ユーティリティ配列[i 1])^(ユーティリティ配列[i 2]))
ユーティリティ配列[i](dを計算))= 入力array[i 3] ⊕ ((Utility array[i 1]) ^ (Utility array[i 2]))
そしてポインタは次の 4 文字のセットに更新されます
- #最後に、配列を出力し、結果をユーザーに返します。
import java.util.Arrays;
import java.util.List;
public class Tutorials{
static int ans = 0;
public static void main(String args[]){
int[] input = {7, 1, 2, 3};
int[] arr = new int[input.length];
for (int i = 0, j = 0; j < input.length / 4; j++){
ans = input[i] ^ input[i + 3];
arr[i + 1] = input[i + 1] ^ ans;
arr[i + 2] = input[i + 2] ^ ans;
arr[i] = input[i] ^ ((arr[i + 1]) ^ (arr[i + 2]));
arr[i + 3] = input[i + 3] ^ (arr[i + 1] ^ arr[i + 2]);
i += 4;
}
System.out.println("Different XORs of elements in groups of size 4 is: ");
for (int i = 0; i < arr.length; i++){
System.out.println(arr[i]);
}
}
}
出力上記のコードを実行すると、次の出力が生成されますDifferent XORs of elements in groups of size 4 is : 4 5 6 0
以上がJava では、サイズ 4 のグループを使用して要素に対してさまざまな XOR 演算を使用して配列を検索します。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

この記事では、Javaプロジェクト管理、自動化の構築、依存関係の解像度にMavenとGradleを使用して、アプローチと最適化戦略を比較して説明します。

この記事では、MavenやGradleなどのツールを使用して、適切なバージョン化と依存関係管理を使用して、カスタムJavaライブラリ(JARファイル)の作成と使用について説明します。

この記事では、カフェインとグアバキャッシュを使用してJavaでマルチレベルキャッシュを実装してアプリケーションのパフォーマンスを向上させています。セットアップ、統合、パフォーマンスの利点をカバーし、構成と立ち退きポリシー管理Best Pra

この記事では、キャッシュや怠zyなロードなどの高度な機能を備えたオブジェクトリレーショナルマッピングにJPAを使用することについて説明します。潜在的な落とし穴を強調しながら、パフォーマンスを最適化するためのセットアップ、エンティティマッピング、およびベストプラクティスをカバーしています。[159文字]

Javaのクラスロードには、ブートストラップ、拡張機能、およびアプリケーションクラスローダーを備えた階層システムを使用して、クラスの読み込み、リンク、および初期化が含まれます。親の委任モデルは、コアクラスが最初にロードされ、カスタムクラスのLOAに影響を与えることを保証します


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

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

WebStorm Mac版
便利なJavaScript開発ツール

MantisBT
Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

SublimeText3 Linux 新バージョン
SublimeText3 Linux 最新バージョン

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