C#で整数リストから重複を検出して表示する方法
整数のリストから重複する値を検出して表示するには、ContainsKeyメソッドを使用する方法が便利です。Dictionaryのキーに各整数を登録しながら出現回数をカウントすることで、効率的に重複を特定できます。
整数配列の準備
まず、重複を含む整数の配列を定義します。
int[] arr = {
3,
6,
3,
8,
9,
2,
2
};
Dictionaryで出現回数をカウントする
次に、Dictionary<int, int>コレクションを使用して、各整数の出現回数を記録します。配列の各要素について、すでにキーが存在する場合はカウントを1つ増やし、存在しない場合は新しくキーを追加してカウントを1に設定します。
サンプルコード
重複する整数を検出するコードの完全な例は以下の通りです。
using System;
using System.Collections.Generic;
namespace Demo {
public class Program {
public static void Main(string[] args) {
int[] arr = {
3,
6,
3,
8,
9,
2,
2
};
var d = new Dictionary<int, int>();
foreach(var res in arr) {
if (d.ContainsKey(res))
d[res]++;
else
d[res] = 1;
}
foreach(var val in d)
Console.WriteLine("{0} occurred {1} times", val.Key, val.Value);
}
}
}
実行結果
3 occurred 2 times 6 occurred 1 times 8 occurred 1 times 9 occurred 1 times 2 occurred 2 times
コードの解説
このプログラムの動作を簡単に説明します。
最初のforeachループでは、配列の各要素を順番に処理します。ContainsKeyメソッドで、その整数がすでにDictionaryのキーとして登録されているかを確認し、登録済みであれば対応する値(出現回数)をインクリメント、未登録であれば新しいエントリとして追加します。
2番目のforeachループでは、Dictionaryに格納された各キーと値のペアを出力します。出現回数が2以上の整数が重複している値です。この例では「3」と「2」がそれぞれ2回出現していることがわかります。
この方法の計算量はO(n)であり、要素数に比例して処理が完了するため、大量のデータに対しても効率的に動作します。
-
【Python】リストから重複要素を削除する5つの方法を徹底解説
リスト(List)はPythonにおける最も重要なデータ構造の一つであり、日常的なプログラミングからWeb開発まで、ほぼすべてのコードで利用されています。使用頻度が高い分、その操作をマスターすることへの需要も高く、各種操作に関する知識は必須といえます。 中でも「リストから重複要素を削除する」処理は、データの前処理やユニークな値の抽出など、数多くの場面で応用されるため、その実装方法を把握しておくと非常に役立ちます。 本記事では、Pythonでリストの重複を除去する代表的な5つの方法を、コード例と実行結果とともにわかりやすく解説します。 方法1:素朴な方法(forループ) 最も基本的なアプローチ
-
Pythonでリストから重複要素を削除する方法を徹底解説
重複した要素を含むリストが与えられたとき、重複を取り除いた新しいリストを作成するのが本記事のテーマです。初心者の方にも理解しやすいよう、基本的なアルゴリズムの手順から実際のコードまで順を追って解説していきます。 実行例 入力::[2,3,4,3,4,6,78,90] 出力::[2,3,4,6,78,90] アルゴリズム 重複要素を削除するための基本的な手順は以下の通りです。 元となるリストを作成する。 空の新しいリストを用意する。 元のリストの各要素を先頭から順番に走査する。 その要素が新しいリストにまだ存在しないかどうかを判定する。 存在しない場合のみ、新しいリストへ要素を追加する。