当前位置: 首页 > news >正文

北京电子商务网站建设二十条优化措施

北京电子商务网站建设,二十条优化措施,wordpress撰写邮箱,wordpress主题 改网址1.动态规划五部曲: 1)确定dp数组(dp table)以及下标的含义 2)确定递推公式 3)dp数组如何初始化 4)确定遍历顺序 5)举例推导dp数组 2.动态规划应该如何debug 找问题的最好方式就是把…

1.动态规划五部曲:

        1)确定dp数组(dp table)以及下标的含义

        2)确定递推公式

        3)dp数组如何初始化

        4)确定遍历顺序

        5)举例推导dp数组

2.动态规划应该如何debug

        找问题的最好方式就是把dp数组打印出来,看看究竟是不是按照自己思路推导的!


509.斐波那契数

初始思路:

class Solution {public int fib(int n) {if(n==0){return 0;}int[] dp = new int[n+1];dp[0] = 0;dp[1] = 1;for(int i = 2;i<n+1;i++){dp[i] = dp[i-1]+dp[i-2];}return dp[n];}
}

题解复盘:

题解更加清晰,首先按照动态规划五部曲进行分析:

1)确定dp数组以及下标的含义

        dp[i]的定义为:第i个数的斐波那契数值是dp[i]

2)确定递推公式

        状态转移方程 dp[i] = dp[i - 1] + dp[i - 2]

3)dp数组如何初始化

dp[0] = 0;
dp[1] = 1;

4)确定遍历顺序

 从递归公式dp[i] = dp[i - 1] + dp[i - 2];中可以看出,dp[i]是依赖 dp[i - 1] 和 dp[i - 2],那么遍历的顺序一定是从前到后遍历的。

5)举例推导dp数组

0 1 1 2 3 5 8 13 21 34 55

压缩空间版本的题解:

class Solution {public int fib(int n) {if (n < 2) return n;int a = 0, b = 1, c = 0;for (int i = 1; i < n; i++) {c = a + b;a = b;b = c;}return c;}
}

70.爬楼梯

假设你正在爬楼梯。需要 n 阶你才能到达楼顶。

每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?

初始思路:

1)确定dp数组以及下标的含义:

        dp[i]的定义为:表示爬到第i个台阶不同方法的数量。

2)确定递推公式:

        dp[i] = dp[i - 1] + dp[i - 2]

3)dp数组如何初始化

dp[1] = 1;爬一层台阶只有一种方法

dp[2] = 2;爬两层台阶可以一次爬两层也可以爬两个一层。

4)确定遍历顺序

 从递归公式dp[i] = dp[i - 1] + dp[i - 2];中可以看出,dp[i]是依赖 dp[i - 1] 和 dp[i - 2],那么遍历的顺序一定是从前到后遍历的。

5)举例推导dp数组

1,2,3,5,8,13,21,34

class Solution {public int climbStairs(int n) {if(n<=2){return n;}int a = 1;int b = 2;int c = 0;for(int i = 3;i<n+1;i++){c = a + b;a = b;b = c;}return c;}
}

746. 使用最小花费爬楼梯 

初始思路:

这道题目就是在不同的爬楼梯方案中,挑选出来最小花费的爬楼梯方案。

唯一需要斟酌的地方就是我究竟是让其从第0阶台阶开始攀爬,还是从第1阶台阶开始攀爬。

1)确定dp数组以及下标的含义:

       dp[i]的定义为:表示爬到第i个台阶所需要的最小花费。

2)确定递推公式:

        dp[i] = min(dp[i-1]+cost[i-1],dp[i-2]+cost[i-2])

3) dp数组如何初始化

        dp[0] = 0;dp[1] = 0;dp[2] = min(dp[0]+cost[0],cost[1]+dp[1]);

4) 确定遍历顺序

        由前到后

5)举例推导dp数组

0,0,10,15

class Solution {public int minCostClimbingStairs(int[] cost) {int[] dp = new int[cost.length+1];dp[0] = 0;dp[1] = 0;for(int i = 2;i<=cost.length;i++){dp[i] = Math.min(dp[i-1]+cost[i-1],dp[i-2]+cost[i-2]);}return dp[cost.length];}
}

题解复盘:

基本一致

        

http://www.15wanjia.com/news/10191.html

相关文章:

  • 企业信息平台网站官网百度招聘官网
  • 济南建网站最好的网站点击排名优化
  • 有网站加金币的做弊器吗6线上营销策略有哪些
  • 木材模板.网站营销推广费用预算表
  • 展厅装修设计ios aso优化工具
  • 做财税的网站有哪些网站推广业务
  • 网站建设基础考试新闻发布会新闻通稿
  • 番禺外贸网站建设域名注册需要什么条件
  • python软件seo含义
  • 学校网站开发工程师新浪微舆情大数据平台
  • 哪个网站能免费做电子书封面平台代运营是什么意思
  • 在郑州网站建设厦门seo小谢
  • 做网站的保证承诺免费广告网
  • 有回定ip怎么做网站百度竞价排名商业模式
  • 做网站开麻烦吗怎样弄一个自己的平台
  • 网站开发要求谷歌浏览器怎么下载
  • 门户网站开发班级优化大师手机版下载
  • 景安服务器管理助手如何备份网站app开发多少钱
  • python开发订阅号seo优化的技巧
  • 上海专业做网站公司报价品牌战略
  • 专门做装修的网站广告买卖网
  • 网站开发服务纠纷seo基础篇
  • 河北唐山 网站建设亿驱动力竞价托管
  • 如何设置网站域名国内手机搜索引擎十大排行
  • 深圳wordpress宁波抖音seo搜索优化软件
  • 电子毕业设计代做网站seo产品是什么意思
  • 深圳网站建设多少钱站长统计app下载
  • 网站开发周记30篇搜索引擎营销的四种方式
  • 北京公司网站竞价托管哪家公司好
  • 建设常规的网站报价是多少appstore关键词优化