C#でシーケンスの要素が条件を満たすかどうかを判定する方法
シーケンスのすべての要素が特定の条件を満たしているかどうかを確認するには、All() メソッドを使用します。このメソッドは、シーケンス内の要素が1つでも設定した条件を満たしていない場合、False を返します。
条件の指定にはラムダ式を使用します。以下は、すべての要素が 20 より大きいかどうかを確認するための条件の記述例です。
myArr.AsQueryable().All(val => val > 20);
サンプルコード
using System;
using System.Linq;
class Demo {
static void Main() {
int[] myArr = {7, 15, 22, 30, 40};
// 配列のすべての要素が20より大きいかどうかを確認
bool res = myArr.AsQueryable().All(val => val > 20);
Console.WriteLine(res);
}
}出力結果
False
解説
上記の例では、配列 myArr に 7 と 15 という 20 以下の値が含まれているため、「すべての要素が 20 より大きい」という条件を満たしていません。そのため、All() メソッドの戻り値は False となります。
もし配列のすべての要素が 20 より大きければ、戻り値は True になります。このように All() メソッドを使うことで、コレクション全体に対する条件チェックを簡潔な1行のコードで実現できます。
-
Pythonで二分木の通り順走査(Inorder Traversal)が回文かどうかを判定する方法
問題の概要各ノードに0〜9のいずれかの数字が格納された二分木があるとします。この木を通り順走査(inorder traversal)した結果が回文(前から読んでも後ろから読んでも同じ並び)になっているかどうかを判定するプログラムを作成します。例えば、次のような木が入力として与えられた場合を考えてみましょう。この木の通り順走査の結果は [2, 6, 10, 6, 2] となり、左右対称の並びであるため、出力は True になります。解決のアプローチこの問題は、再帰を使わずにスタックを利用した反復的な通り順走査を行うことで解けます。手順は以下のとおりです。ルートが null の場合は True を
-
Pythonでリストが空かどうかを判定するプログラム
Pythonでは、リストが空かどうかを簡単に判定できます。この記事では、空のリストが与えられたときに、それが空であるかどうかを確認する方法を紹介します。ポイントは、暗黙的(implicit)な判定方法を使うことです。Pythonでは、空のリストはブール値として「偽(False)」と評価されるため、if not を使うことで簡潔にチェックできます。 アルゴリズム ステップ1:空のリストを用意します。 ステップ2:リストが空であれば 1 を返し、そうでなければ 0 を返します。 サンプルコード # リストが空かどうかをチェックするPythonコード def checklist(A):