>백엔드 개발 >C++ >LINQ는 한 배열이 다른 배열의 하위 집합인지 어떻게 효율적으로 확인할 수 있습니까?

LINQ는 한 배열이 다른 배열의 하위 집합인지 어떻게 효율적으로 확인할 수 있습니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2025-01-20 06:01:08632검색

How Can LINQ Efficiently Determine if One Array is a Subset of Another?

LINQ를 효율적으로 사용하여 배열 하위 집합 간의 관계 확인

어레이가 다른 어레이의 하위 집합인지 확인하는 것은 일반적인 프로그래밍 작업입니다. 여기서 하위 집합은 모든 요소가 상위 배열에 존재하는 집합을 나타냅니다. 이 관계는 LINQ(Language Integrated Query) 기능을 사용하여 효율적으로 확인할 수 있습니다.

두 개의 목록이 있다고 가정해 보겠습니다.

<code>List<double> t1 = new List<double> { 1, 3, 5 };
List<double> t2 = new List<double> { 1, 5 };</code>

우리의 목표는 LINQ를 사용하여 t2가 t1의 하위 집합인지 확인하는 것입니다.

이를 위해 Except 연산자를 사용하여 t2에 없는 t1의 요소를 제외할 수 있습니다. 결과 목록이 비어 있으면 t2의 모든 요소가 t1에 존재한다는 의미이며, 이는 t2가 실제로 t1의 하위 집합임을 나타냅니다.

다음 LINQ 표현식은 이 논리를 요약합니다.

<code>bool isSubset = !t2.Except(t1).Any();</code>

isSubset의 값이 true이면 t2가 t1의 부분집합임을 확인합니다. 반대로 isSubsetfalse이면 t2는 t1의 부분집합이 아닙니다.

이 예에서는 t2의 모든 요소(예: 1과 5)가 t1에도 존재하므로 Except 작업은 빈 목록을 생성하고 표현식은 true로 평가되어 t2가 하위 집합임을 확인합니다. t1의.

위 내용은 LINQ는 한 배열이 다른 배열의 하위 집합인지 어떻게 효율적으로 확인할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.