Sinulle annetaan lukuja yksi kerrallaan. Tehtäväsi on kertoa jokaisen luvun kohdalla, mikä on siihen mennessä annettujen lukujen moodi (eli yleisin luku). Jos moodeja on useita, niistä valitaan pienin mahdollinen.
Voit olettaa, että jokainen luku on kokonaisluku välillä 1 \dots 10^9 ja lukuja annetaan enintään 10^5.
Python
Toteuta tiedostoon mode.py
luokka Mode
, jonka funktio add
lisää uuden luvun ja palauttaa lisättyjen lukujen moodin.
class Mode: def add(self, x): # TODO if __name__ == "__main__": m = Mode() print(m.add(1)) # 1 print(m.add(2)) # 1 print(m.add(2)) # 2 print(m.add(1)) # 1 print(m.add(3)) # 1 print(m.add(3)) # 1 print(m.add(3)) # 3
Java
Toteuta tiedostoon Mode.java
luokka Mode
, jonka metodi add
lisää uuden luvun ja palauttaa lisättyjen lukujen moodin.
public class Mode { public int add(int x) { // TODO } public static void main(String[] args) { Mode m = new Mode(); System.out.println(m.add(1)); // 1 System.out.println(m.add(2)); // 1 System.out.println(m.add(2)); // 2 System.out.println(m.add(1)); // 1 System.out.println(m.add(3)); // 1 System.out.println(m.add(3)); // 1 System.out.println(m.add(3)); // 3 } }