Element dominujący
Treść zadania
Wczytaj listę n liczb naturalnych. Jeśli istnieje wartość, która występuje w liście więcej niż $\frac{n}{2}$ razy, wypisz ją. W przeciwnym razie wypisz -1.
Dane wejściowe
- 1. linia: liczba elementów
n - 2. linia:
nliczb naturalnych oddzielonych spacjami
Dane wyjściowe
Jedna liczba: element dominujący albo -1.
Ograniczenia
- $n \ge 1$
- Elementy listy są nieujemne.
Uwagi
- Wartość występująca dokładnie $\frac{n}{2}$ razy nie jest elementem dominującym.
- Wystarczy dla każdego elementu policzyć (pętlą albo metodą
lista.count(x)), ile razy występuje w liście. Szybszy sposób, ze słownikiem, poznasz w rozdziale 17.
Przykład
5 4 7 4 4 2
4
Wartość $4$ występuje $3$ razy, a $3 > \frac{5}{2}$.
Potrzebujesz teorii?
Zasady obowiązujące w rozdziale 9
Zadania w tym rozdziale ćwiczą podstawowe operacje na listach: wczytywanie, przechodzenie pętlą, modyfikowanie elementów, wyszukiwanie i zliczanie.
Konwencje wspólne:
- Każde zadanie (i każdy podpunkt) to osobny program: czyta standardowe wejście i wypisuje wynik na standardowe wyjście.
- Lista na wejściu zajmuje dwie linie: w 1. linii jest liczba elementów
n, a w 2. linii —nliczb oddzielonych pojedynczymi spacjami. Dodatkowe dane (np. szukany klucz) są w kolejnych liniach, po jednej wartości w linii. - Taką listę wczytasz np. tak:
```python
n = int(input())
lista = [int(x) for x in input().split()]` - Gdy wynikiem jest lista, wypisz ją instrukcją
print(lista). Python wypisze ją w nawiasach kwadratowych, z elementami oddzielonymi przecinkiem i spacją, np.[4, 10, 8]. Pusta lista to[]. - Jeśli zadanie mówi „oddzielone spacją” — użyj pojedynczej spacji.
- Indeksy elementów liczymy od
0. - Program nie wypisuje komunikatów typu „Podaj liczbę:”.
Zadanie pochodzi z otwartego zbioru Nauka-Programowania (z rozwiązaniami wzorcowymi). Zgłoś błąd w treści lub testach.
Przywrócono Twój zapisany kod.
Python uruchomi się w przeglądarce przy pierwszym teście.
Kod zapisuje się automatycznie w tej przeglądarce. Tab wstawia wcięcie; aby opuścić edytor klawiaturą, naciśnij Esc, a potem Tab.
Testy
Program dostaje „Wejście” przez input() i musi wypisać „Oczekiwane wyjście”. Liczby porównywane są z tolerancją 0,01, a tekst podany w input("…") nie jest sprawdzany.
Test 1
Nie uruchomiono5 1 2 3 2 2
2
Test 2
Nie uruchomiono4 1 2 3 4
-1
Test 3
Nie uruchomiono1 9
9
Test 4
Nie uruchomiono4 3 3 5 5
-1
Test 5
Nie uruchomiono6 0 0 0 1 0 2
0
Test 6
Nie uruchomiono7 8 1 8 2 8 3 8
8