Başka bir listenin girişlerine dayalı olarak, mevcut bir sıralanmış listeyi birden fazla alt listeye ayırmak istiyorum.Ayraç Listesini sınır değerlere göre ayırma listesi
List<int> borders = [4,59,170];
yuvalanmış bir listesini almak için en kısa yolu nedir: hangi myList
bölünmüş olmalıdır yerleştiren tanımlar
List<int> myList = [1,3,7,23,56,58,164,185];
ve başka bir liste,:
en Böyle bir dizi var diyelim Burada myList
, borders
'da tanımlanan değerlere bölünmüştür, örneğin:
[[1,3],[7,23,56,58],[164],[185]]
Listeden el ile geçerek bunu zaten çözdüm, ancak Linq kullanarak daha kolay ve daha kısa olduğunu hayal edebiliyorum.
DÜZENLEME: Bir basitleştirme var: Sayılar kenarlıklarla aynı olamaz, bu nedenle myList
ve borders
'da aynı anda bir sayının bulunması imkansızdır.
Eğer zaten kodu gönderebilir miyim: Bir O ilgilenenler için
(n) çözümü, burada olası bir sadece gruplama dizileri üzerinde çok genel bir yolu olan Üzerinde almak mı? –
Linq'in '.TakeWhile' İçine Bakın – ryanyuyu
Sisteminizin, tam olarak bir sınırın üzerine düşen sayıları nasıl işleyeceğini açıklayın (mümkünse). –