leetcode :动态规划
生活随笔
收集整理的這篇文章主要介紹了
leetcode :动态规划
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
文章目錄
- 01 剪繩子
- 02 滑動(dòng)窗口的最大值
- 03 圓圈中最后剩下的數(shù)字
01 剪繩子
解法一數(shù)學(xué)推導(dǎo):數(shù)學(xué)推導(dǎo),分析數(shù)字1到5,可以得到當(dāng)數(shù)子是3及以下是不分解,5及以上時(shí)分解,只能將數(shù)字分解為3和(4或者2)
解法2動(dòng)態(tài)規(guī)劃
int cuttingRope(int n) {//初始條件判斷if (n == 2)return 1;if (n == 3)return 2;//動(dòng)態(tài)規(guī)劃vector<int> maxDp;maxDp.push_back(1);maxDp.push_back(1);maxDp.push_back(1);maxDp.push_back(2);for (int j = 4; j < (n+1); j++){int max = maxDp[j - 1];for (int i = 1; i < j; i++){if ((i * maxDp[j - i]) > max){max = i * maxDp[j - i];}if ((i * (j-i)) > max){max = i * (j-i);}}maxDp.push_back(max);}return maxDp.back();}02 滑動(dòng)窗口的最大值
解題思路 用一個(gè)優(yōu)先隊(duì)列記錄之前滑過(guò)的元素
03 圓圈中最后剩下的數(shù)字
解題思路 這是一個(gè)約瑟夫環(huán)問(wèn)題
總結(jié)
以上是生活随笔為你收集整理的leetcode :动态规划的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: leetcode:图相关算法
- 下一篇: leetcode:位操作