각 요소가 정수 목록 인 List가 있습니다. LINQ를 개발하여 각 목록에서 == 0 인 정수의 수를 계산하려고합니다. 내가 무엇에 관심이 것은 각 목록에서 제로의 수, 그리고 특히 최소이다 - 각 외부 목록에서 선택된 항목 수
그래서, 모두가 제로var prisoners = new List<List<int>>(n);
for (int c = 0; c < n; c++)
{
int[] l = new int[n];
prisoners.Add(new List<int>());
prisoners[c] = l.ToList<int>();
}
그래서 난 n 개의 정수 n 개의 목록을 포함하는 목록을 만들어 내 목록 정의 내가 목록에 올 때까지 그 계산은 처음부터 n입니다.
나는 목록을 전혀에는 제로가 없을 때, 그것은 쿼리를 떠난다있을 것 같습니다var q = (from arr in prisoners from int tally in arr
where tally == 0
group arr by arr into grp select grp.Count()).Min();
지금 문제를 함께했다, 나는 대답 제로를하지 않습니다. 처음에는 대답이 'n'(모두 0 인 경우)입니다. 목록에 0이 없으면 MINIMUM 개수가 0인데 응답이 0이 아닙니다.
목록에 포함 된 목록의 최소 수를 어떻게 찾을 수 있습니까? (결국 0이됩니다). 모든 목록이 그룹으로 들어갈 수 있도록 작성해야합니다. 그런 다음 얼마나 많은 영수가 있는지 계산해 봅니다. 그러나이를 수행하는 방법을 모르겠습니다.
int n = 3;
var prisoners = new List<List<int>>(n);
for (int c = 0; c < n; c++)
{
int[] l = new int[n];
prisoners.Add(new List<int>());
prisoners[c] = l.ToList<int>();
}
//return 3 below - that is correct at this point
var q = (from arr in prisoners from int tally in arr where tally == 0 group arr by arr into grp select grp.Count()).Min();
prisoners[1] = (new int[] { 1, 1, 1 }).ToList();
prisoners[2] = (new int[] { 1, 1, 0 }).ToList();
//so now one of the arrays has zero zeroes in it, but I get the answer 1 - zero was wanted, that is to say
//element 1 has a zero count of zero
q = (from arr in prisoners from int tally in arr where tally == 0 group arr by arr into grp select grp.Count()).Min();
일부 예제 입력과 예상 출력을 표시 할 수 있습니까? – Jamiec
귀하의 질의가 예상대로 작동하고 있습니다 - 당신은 처음에'== 0'에서 그것을 필터링하고 있기 때문에 빠져 나옵니다. – Jaya
@JS_GodBlessAll - 쿼리가 잘못된 결과를 반환한다고 말하는 것은 아니지만 원하는 것은 아닙니다. 각 배열에서 0의 수를 계산하고 그 중 가장 낮은 수 (0 일 수 있음)를 반환합니다. – Cato