CSES - Lähilista

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