Tam sayıların bir listesi var. İçerisindeki liste tam sayı listesinden nasıl filtreleyebilirim?C# boş ise tamsayıların listesinin filtrelenmesi
Örneğin: - L = [[0,1,2], [], [1], [1,2,3]]
. Linq kullanarak L = [[0,1,2], [1], [1,2,3]]
almak için nasıl filtreleyebilirim?
Burada [0,1,2]
tam sayıların listesi bulunmaktadır.
Bu, önceki sorum ile ilgilidir. Tam sayıların listesini döndüren bir yinelemeli fonksiyonum var ve boş listeleri filtrelemem gerekiyor.
int [] num_list = new int[10]{2, 3, 5, 9, 14, 19, 23, 45, 92, 100};
public List<List<int>> find_solutions(int n, int t, int w)
{
if (n == 2)
{
List<int> s = new List<int>();
for (var i=0; i <= t; i++)
{
if (i * num_list[1] + (t - i) * num_list[0] == w)
{
s.Add(i);
s.Add(t - i);
}
}
return new List<List<int>> { s };
}
List<List<int>> f = new List<List<int>>();
List<List<int>> temp_list = new List<List<int>>();
for (int i=0; i <= Math.Min(t, w/num_list[n-1]); i++)
{
temp_list = find_solutions(n - 1, t - i, w - i * num_list[n - 1]);
// I strongly believe that i am getting empty list
// and I should filter out empty list form temp_list
// and I need to insert 'i' to each list inside list
foreach(List<int> c in temp_list)
{
c.Insert(0, i);
}
f.addRange(temp_list);
}
return f;
}
Er ... Sanırım burada büyük ve küçük harflerinizi karıştırıyorsunuz. –
@JoachimIsaksson: Bu arkadaş için teşekkürler, şimdi düzeltildi. –