首頁 >後端開發 >php教程 >如何在數組中找到最接近目標的值?

如何在數組中找到最接近目標的值?

DDD
DDD原創
2024-12-04 03:41:11480瀏覽

How Can I Find the Closest Value to a Target in an Array?

搜尋並識別數組中最接近的值

通常,當基於指定目標。為了解決這種情況,讓我們研究一種有效處理此問題的方法。

解:

要確定數組中最接近目標值的值,我們可以利用一個簡單的演算法:

function getClosest($search, $arr) {
   $closest = null;
   foreach ($arr as $item) {
      if ($closest === null || abs($search - $closest) > abs($item - $search)) {
         $closest = $item;
      }
   }
   return $closest;
}

在在這個演算法中,我們迭代數組,比較目標和當前項目之間的差異已經確定的最接近值。如果與目前專案的差異較小,則它將成為新的最接近值。

範例:

考慮提供的範例陣列:

array(0, 5, 10, 11, 12, 20)

如果我們搜尋最接近 3 的值,該函數會傳回 5。同樣,對於目標值 14,演算法將識別12 是最接近的。

演算法有效地找到數組中最接近目標的值,使其成為各種應用程式的可靠工具。

以上是如何在數組中找到最接近目標的值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn