Annettuna on lista lukuja, jossa jokainen luku esiintyy kahdesti paitsi yksi luku esiintyy vain kerran. Tehtäväsi on etsiä tämä pariton luku.
Listan jokainen alkio on kokonaisluku välillä ja listassa on enintään alkiota. Tavoitteena on, että algoritmin aikavaativuus on .
Python
Toteuta tiedostoon findodd.py
funktio find
, joka ilmoittaa parittoman luvun.
def find(t): # TODO if __name__ == "__main__": print(find([2,2,4,3,4])) # 3 print(find([1,2,3,4,1,2,3])) # 4 print(find([1])) # 1 print(find([1,4,2,3,2,3,4])) # 1 print(find([4,1,3,2,3,2,1])) # 4
Java
Toteuta tiedostoon FindOdd.java
metodi find
, joka ilmoittaa parittoman luvun.
public class FindOdd { public int find(int[] t) { // TODO } public static void main(String[] args) { FindOdd f = new FindOdd(); System.out.println(f.find(new int[] {2,2,4,3,4})); // 3 System.out.println(f.find(new int[] {1,2,3,4,1,2,3})); // 4 System.out.println(f.find(new int[] {1})); // 1 System.out.println(f.find(new int[] {1,4,2,3,2,3,4})); // 1 System.out.println(f.find(new int[] {4,1,3,2,3,2,1})); // 4 } }