Mencari Nilai Terhampir dalam Tatasusunan
Dalam pemprosesan data, mencari nilai padanan terdekat dalam tatasusunan selalunya penting untuk pelbagai aplikasi. Memandangkan nilai sasaran dan tatasusunan tersusun, bagaimanakah kita boleh mengesan elemen yang paling hampir dengan sasaran dengan cekap?
Penyelesaian:
Untuk mencari nilai terdekat dalam tatasusunan, kita boleh lelaran melalui setiap elemen dalam tatasusunan dan mengira perbezaan antara nilai sasaran dan setiap elemen. Elemen dengan perbezaan terkecil ialah nilai padanan yang paling hampir. Berikut ialah fungsi PHP untuk tugasan ini:
function getClosest($search, $arr) { $closest = null; foreach ($arr as $item) { if ($closest === null || abs($search - $closest) > abs($item - $search)) { $closest = $item; } } return $closest; }
Fungsi ini mengambil dua parameter: nilai sasaran untuk dicari dan tatasusunan nombor untuk dicari di dalamnya. Ia mengira perbezaan mutlak antara nilai sasaran dan setiap elemen dalam tatasusunan. Elemen dengan perbezaan mutlak terkecil disimpan dalam pembolehubah $closst dan akhirnya dikembalikan sebagai hasilnya.
Penggunaan:
Pertimbangkan tatasusunan berikut:
array(0, 5, 10, 11, 12, 20)
Apabila mencari dengan nilai sasaran 0, fungsi akan mengembalikan 0. Untuk nilai sasaran 3, fungsi akan kembali 5. Begitu juga, untuk nilai sasaran 14, fungsi akan mengembalikan 12.
Atas ialah kandungan terperinci Bagaimana untuk Cekap Mencari Nilai Terdekat dalam Tatasusunan Tertib?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!