劍指Offer之陣列中任意數累加得到目標值

2021-09-29 23:29:15 字數 560 閱讀 4873

給定乙個陣列arr,和乙個整數aim,如果可以任意選擇arr中的數字,判斷能不能累加得到aim,

參考了遞迴版本:

public static issum(int arr,int i,int sum,int aim)

return issum(arr,i+1,sum,aim)||issum(arr,i+1,sum+arr[i],aim);

}

動態規劃版本:

public static boolean issum2(int arr,int aim)

boolean dp=new boolean[arr.length+1][aim+1];

//填最後一行

for(int i = arr.length, sum = 0; sum <= aim; sum++)else

}for(int i=arr.length-1;i>=0;i--)}}

//因為這是從下往上填dp表,所以最後得到的是dp[0][0]

return dp[0][0];

}

劍指offer之陣列中重複的數

在乙個長度為n的陣列裡的所有數字都在0到n 1的範圍內。陣列中某些數字是重複的,但不知道有幾個數字是重複的。也不知道每個數字重複幾次。請找出陣列中任意乙個重複的數字。例如,如果輸入長度為7的陣列,那麼對應的輸出是第乙個重複的數字2。public class solution a numbers i ...

(Java)劍指offer之陣列中重複的數

題目描述 在乙個長度為n的陣列裡的所有數字都在0到n 1的範圍內。陣列中某些數字是重複的,但不知道有幾個數字是重複的。也不知道每個數字重複幾次。請找出陣列中任意乙個重複的數字。例如,如果輸入長度為7的陣列,那麼對應的輸出是重複的數字2或者3。引數說明 numbers 輸入的整數陣列 length 陣...

劍指offer 陣列中重複的數

題目描述 在乙個長度為n的陣列裡的所有數字都在0到n 1的範圍內。陣列中某些數字是重複的,但不知道有幾個數字是重複的。也不知道每個數字重複幾次。請找出陣列中任意乙個重複的數字。例如,如果輸入長度為7的陣列,那麼對應的輸出是第乙個重複的數字2。開始我考慮的是,先將陣列排序,然後逐個比較,如果有相等的,...