有5個數,求和最接近於66的4個數 揹包問題

2021-08-02 02:59:47 字數 922 閱讀 3984

<?php

$a = 66;

$arr = array(15,20,10,6,99);

function ss($a,$arr)

return $array;}

$dd = ss($a,$arr);

ksort($dd);//根據鍵進行公升序排序

print_r($dd);

列印,絕對值最小的,最靠近

結果如下:

array

([15] => array

([0] => array

([5] => 15

[6] => 20

[7] => 10

[8] => 6))

[64] => array

([0] => array

([2] => 10

[3] => 6

[4] => 99

[5] => 15))

[69] => array

([0] => array

([1] => 20

[2] => 10

[3] => 6

[4] => 99))

[74] => array

([0] => array

([3] => 6

[4] => 99

[5] => 15

[6] => 20))

[78] => array

([0] => array

([4] => 99

[5] => 15

[6] => 20

[7] => 10))

) 備註:其實這是道典型的揹包問題,少量資料可以使用該方法,for迴圈就可以解決,但是資料比較大的時候,就不可取了,因為時間複雜度有點高,在n^2,想要更科學的解決揹包問題,可以使用動態規劃。

可以參看資料:

最接近的三個數的和

給定乙個包括 n 個整數的陣列 nums 和 乙個目標值 target。找出 nums 中的三個整數,使得它們的和與 target 最接近。返回這三個數的和。假定每組輸入只存在唯一答案。例如,給定陣列 nums 1,2,1,4 和 target 1.與 target 最接近的三個數的和為 2.1 2...

三個數之和,最接近目標數的演算法python實現

1.給定乙個陣列和目標數,求陣列中三個數之和最接近目標數的和,假設陣列至少有一組和滿足條件。nums.sort l len nums sum nums 0 nums 1 nums 2 for i in range 0,l 2 if nums i nums i 1 continue next i 1 ...

力扣日記 016 最接近的三個數之和

給定乙個包括 n 個整數的陣列 nums 和 乙個目標值 target。找出 nums 中的三個整數,使得它們的和與 target 最接近。返回這三個數的和。假定每組輸入只存在唯一答案。題目基本屬於015的姊妹篇了。依然使用雙指標遍歷一遍。class solution def threesumclo...