-
Data: 2019-11-18 15:57:45
Temat: Re: Jak zrobić grupowanie w kolejności
Od: g...@g...com szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]W dniu poniedziałek, 18 listopada 2019 15:47:23 UTC+1 użytkownik g...@g...com
napisał:
> W dniu poniedziałek, 18 listopada 2019 14:09:47 UTC+1 użytkownik Borneq napisał:
> > Mam liczby 1,5,7,10,100,5,6,
> > jak zrobić grupy o co najmniej sumie 10, nie zmieniając kolejności tak jak:
> > (1,5,7),(10),(100),(5,6),
> > zamiast liczb mogą być długości stringów,
> > mogę najprościej:
> > vector<wstring> vec;
> > vector<wstring> veclongs;
> >
> > int n = 0;
> > for (int i = 0; i < vec.size(); i++)
> > {
> > if (i == 0 || vec[i].length() > 10)
> > {
> > veclongs.push_back(vec[i]);
> > n++;
> > }
> > else veclongs.back() = veclongs.back() + vec[i];
> > }
> > return veclongs;
> >
> > Jedna wada to i==0 bo inaczej nie da rady veclongs.back()
> > co gdy pierwszy będzie mały np 5 a pozostałe wystarczajace?
> > np: 5,10,10,10, - bez grupowania
> > a trzeba (5,10),10,10
> > Jak to zrobić, niby prosto bo bez zmiany kolejności
>
>
> W Haskellu na szybko:
>
> groups :: [a] -> ([a] -> Bool) -> [[a]]
> groups list c = f list []
> where f (h:t) g | (c (g++[h])) = [g++[h]]++(f t [])
> f (h:t) g = f t (g++[h])
> f [] g = []
>
> groups [1,5,7,10,100,5,6] (\x -> (sum x) >= 10)
> [[1,5,7],[10],[100],[5,6]]
Ewentualnie jakbyś chciał, żeby ostatnia niepełna grupa też trafiała do listy, to
wtedy zamiast ostatniego warunku byś musiał napisać:
f [] [] = []
f [] g = [g]
Następne wpisy z tego wątku
- 18.11.19 16:12 M.M.
- 18.11.19 19:47 Borneq
- 18.11.19 19:51 Borneq
- 18.11.19 20:08 g...@g...com
- 18.11.19 23:40 g...@g...com
- 19.11.19 13:52 Borneq
- 19.11.19 17:11 g...@g...com
- 19.11.19 17:36 Borneq
- 19.11.19 18:25 Borneq
- 19.11.19 18:29 g...@g...com
- 20.11.19 01:00 M.M.
Najnowsze wątki z tej grupy
- Xiaomi [Chiny - przyp. JMJ] produkuje w całkowitych ciemnościach i bez ludzi
- Prezydent SZAP/USONA Trump ułaskawił prezydenta Hondurasu Hernandeza skazanego na 45 lat więzienia
- Rosjanie chwalą się prototypem komputera kwantowego. "Najważniejszy projekt naukowy Rosji"
- A Szwajcarzy kombinują tak: FinalSpark grows human neurons from stem cells and connects them to electrode arrays
- Re: Najgorszy język programowania
- NOWY: 2025-09-29 Alg., Strukt. Danych i Tech. Prog. - komentarz.pdf
- Na grupie comp.os.linux.advocacy CrudeSausage twierdzi, że Micro$lop używa SI do szyfrowania formatu dok. XML
- Błąd w Sofcie Powodem Wymiany 3 Duńskich Fregat Typu Iver Huitfeldt
- Grok zaczął nadużywać wulgaryzmów i wprost obrażać niektóre znane osoby
- Can you activate BMW 48V 10Ah Li-Ion battery, connecting to CAN-USB laptop interface ?
- We Wrocławiu ruszyła Odra 5, pierwszy w Polsce komputer kwantowy z nadprzewodzącymi kubitami
- Ada-Europe - AEiC 2025 early registration deadline imminent
- John Carmack twierdzi, że gdyby gry były optymalizowane, to wystarczyły by stare kompy
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2025
- Linuks od wer. 6.15 przestanie wspierać procesory 486 i będzie wymagać min. Pentium
Najnowsze wątki
- 2026-01-29 KSeF - 13 wątpliwości
- 2026-01-29 A ja się pochwalę
- 2026-01-29 Warszawa => Mid/Senior IT Recruiter <=
- 2026-01-29 Warszawa => Senior Java Developer <=
- 2026-01-29 Warszawa => IT Recruiter <=
- 2026-01-28 Degradacja
- 2026-01-28 Wysoki Sąd poinstruował czego unikać wyzywając Owsiaka "Równiejszego"
- 2026-01-28 Białystok => Solution Architect (Workday) - Legal Systems <=
- 2026-01-28 Białystok => Preseles Inżynier (background baz danych) <=
- 2026-01-28 Wrocław => Konsultant wdrożeniowy ERP <=
- 2026-01-28 Łódź => Microsoft Engineer <=
- 2026-01-28 Białystok => Tester manualny <=
- 2026-01-27 Tradycja ciągania posłów po sądach za wystąpienia w Sejmie będzie kontynuowana [Lepper 2]
- 2026-01-27 Pierwszy raz sprzedano więcej samochodów zeeletryfikowanych niż ice
- 2026-01-27 Elektryczny Kałasznikow




Ceny mieszkań stabilne a zdolność kredytowa rośnie. O ile nie masz dzieci