Saya tidak dapat menemukan nilai bilangan bulat terkecil "k" dalam jumlah "n" dari bilangan bulat dalam daftar [duplikat]

Dec 02 2020
n = input('print n:')
k = input('print k')
a = input('print'+str(n)+'numbers:')
s = str(a)
Lst = s.split()
map_object = map(int, Lst)
lst = list(map_object)

Saya telah menyelesaikan sisanya, dan saya tidak tahu bagaimana menemukan dan mencetak k bilangan bulat terkecil.

masukan:

10 (n) 3 (k)

1 3 3 7 2 5 1 2 4 6 (n jumlah angka)

keluaran:

3

Jawaban

2 Tuqay Dec 02 2020 at 05:51

Anda dapat memiliki nomor duplikat, jadi pertama-tama kita akan menghapusnya dengan menggunakan set():

no_duplicates = set(lst)

Kemudian kami mengurutkannya, yang akan mengembalikan kami daftar yang diurutkan:

sorted_list = sorted(no_duplicates)

Kemudian kami mendapatkan nomor yang Anda inginkan (Anda belum dikonversi kke int, jadi kami akan melakukannya di sini):

kth_smallest = sorted_list[int(k)-1]