Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Mencari Integer Terhampir dengan Nilai Diberi dalam Senarai?

Bagaimana untuk Mencari Integer Terhampir dengan Nilai Diberi dalam Senarai?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-11 02:45:03869semak imbas

How to Find the Closest Integer to a Given Value in a List?

Mencari Integer Terdekat daripada Nilai Diberi dalam Senarai

Untuk menentukan nombor dalam senarai tertentu yang paling hampir dengan nilai sasaran , terdapat beberapa pendekatan yang boleh dipertimbangkan:

Menggunakan min() Terbina Dalam Fungsi:

Jika senarai tidak diisih, fungsi min() menyediakan cara yang mudah untuk mencari elemen yang paling hampir. Ia membolehkan kami menentukan fungsi utama untuk menilai jarak dari nilai sasaran:

min(myList, key=lambda x:abs(x-myNumber))

Pendekatan ini mempunyai kerumitan masa O(n), dengan n ialah panjang senarai.

Menggunakan Kaedah Pembahagian Dua (untuk Senarai Isih):

Jika senarai sudah diisih atau boleh diisih dengan cekap, kaedah pembahagian dua menawarkan penyelesaian yang lebih pantas dengan kerumitan masa O(log n). Teknik ini melibatkan berulang kali membahagikan senarai itu kepada dua dan membandingkan nilai sasaran dengan elemen tengah sehingga elemen yang paling hampir ditemui.

Membandingkan Perbezaan Mutlak:

Pendekatan lain ialah untuk lelaran melalui senarai dan mengira perbezaan mutlak antara setiap elemen dan nilai sasaran. Elemen dengan perbezaan mutlak terkecil kemudiannya dianggap paling hampir:

closest_num = None
min_diff = float('inf')
for num in myList:
    diff = abs(num - myNumber)
    if diff < min_diff:
        closest_num = num
        min_diff = diff

Pendekatan ini mempunyai kerumitan masa O(n) juga.

Pilihan pendekatan bergantung kepada faktor-faktor seperti sebagai saiz senarai dan sama ada ia sudah diisih. Untuk senarai kecil atau senarai tidak diisih, fungsi min() boleh menjadi penyelesaian yang mudah. Untuk senarai besar atau disusun, kaedah pembahagian dua menawarkan kecekapan yang lebih baik.

Atas ialah kandungan terperinci Bagaimana untuk Mencari Integer Terhampir dengan Nilai Diberi dalam Senarai?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn