準備找工作,開始刷題,牛客劍指offer
給你一根長度為n的繩子,請把繩子剪成整數長的m段(m、n都是整數,n>1並且m>1),每段繩子的長度記為k[0],k[1],...,k[m]。請問k[0]xk[1]x...xk[m]可能的最大乘積是多少?例如,當繩子的長度是8時,我們把它剪成長度分別為2、3、3的三段,此時得到的最大乘積是18。
輸入描述:
輸出描述:輸入乙個數n,意義見題面。(2 <= n <= 60)
示例1輸出答案。
8
題解:18
方法一:
方法二:
**:
#includeusing namespace std;
//貪心
int cutrope1(int number)
//動態規劃
int cutrope2(int number)
dp[i] = res;
}return dp[number];
}int main()
return 0;
}
好了,總結一下吧;這道題我也做了很久,最後找了找規律,利用動態規劃做出來;然後看題解發現貪心方法是真的挺妙的,相比動態規劃更容易理解,並且時間、空間方面都略勝動態規劃。嗯嗯…刷其它題去了 剪繩子(動態規劃 貪心演算法)
劍指offer 中題14 給你一根長度為n的繩子,請把繩子剪成m段 m n都是整數,n 1並且m 1 每段繩子的長度記為k 0 k 1 k m 請問k 0 x k 1 x x k m 可能的最大乘積是多少?例如,當繩子的長度是8時,我們把它剪成長度分別為2 3 3的三段,此時得到的最大乘積是18。第...
動態規劃 剪繩子
include include include using namespace std 題目 給你一根長度為n的繩子,請把繩子剪成m段 m和n都是整數,n 1並且m 1 每段繩子的長度記為k 0 k 1 k m 請問k 0 k 1 k m 可能的最大乘積是多少?例如,當繩子的長度為8時,我們把它剪成...
剪繩子動態規劃
題目 給你一根長度為n的繩子,請把繩子剪成m段 m n都是整數,n 1並且m 1 每一段的長度記為k 0 k 1 k m 請問k 0 xk 1 x.xk m 可能 的最大乘積是多少?例如,當繩子的長度是8時,我們把它剪成長度分別為2 3 3的三段,此時得到的最大乘積是18.我們有兩種不同的方法解決這...