forked from realgs/pdgm-mm
-
Notifications
You must be signed in to change notification settings - Fork 0
/
lista2.txt
27 lines (17 loc) · 1.31 KB
/
lista2.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
Nie wolno stosować funkcji bibliotecznych (np. "length", "reverse", "append") o złożoności większej, niż O(1). W przypadku, gdy zachodzi konieczność ich użycia należy przygotować własną implementację.
Implementacja Scala/Ocaml - wybrany język, wskazuje prowadzący.
1) Napisz funkcję tworzącą z listy wejściowej dwie listy. W pierwszej mają się znaleźć wszystkie elementy o wartościach ujemnych. W drugiej mają się znaleźć wszystkie elementy o wartościach ujemnych, nieparzystych (każda liczba ma spełniać oba te warunki). Porządek elementów musi być zachowany. Elementy w listach mogą (i będą) się powielać. Wynik zwróć w postaci pary list.
Przykład:
wywołanie: podziel [-3;-6;8;-9;13]
wynik : ([-3;-6;-9],[-3;-9])
Punkty: 5
2) Napisz funkcję zwracającą długość dowolnej listy. Funkcja ma mieć jeden parametr. Jaką złożoności obliczeniową i pamięciową udało Ci się osiągnąć?
Przykład:
wywołanie: dlugosc [5;4;3;2]
wynik : 4
Punkty: 2
3) Napisz funkcję łączącą dwie podane listy. Elementy w liście wyjściowej mają występować naprzemiennie. Jaką złożoności obliczeniową i pamięciową udało Ci się osiągnąć?
Przykład:
wywołanie: polacz [5;4;3;2] [1;2;3;4;5;6]
wynik : [5;1;4;2;3;3;2;4;5;6]
Punkty: 3