Tehtäväsi on toteuttaa luokka NearList
, jolle annetaan konstruktorissa lista lukuja.
Luokassa tulee olla tehokas metodi find
, jolla voi etsiä lähimpänä lukua x olevan luvun listalta. Jos vastaus ei ole yksikäsitteinen, metodin tulee palauttaa pienempi luku.
Voit olettaa, että kaikki tehtävässä esiintyvät luvut ovat kokonaislukuja.
Toteuta tiedostoon nearlist.py
luokka NearList
seuraavan mallin mukaisesti.
class NearList: def __init__(self, t): # TODO def find(self, x): # TODO if __name__ == "__main__": n = NearList([3, 6, 1, 3, 9, 8]) print(n.find(1)) # 1 print(n.find(2)) # 1 print(n.find(3)) # 3 print(n.find(4)) # 3 print(n.find(5)) # 6 print(n.find(6)) # 6 print(n.find(7)) # 6 print(n.find(8)) # 8 print(n.find(9)) # 9