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

昆明网站建设_云南网站建设郑州网络营销公司哪家好

昆明网站建设_云南网站建设,郑州网络营销公司哪家好,网站开发设计报告怎么写,临沂专业做网站公司动态规划基础题,当前所在元素来自上一行的两列的值。 题目 从图可以看出,每一行的第一个数与最后一个数都是1,然后中间的数是来自它左上方和右上方的数的和。当然并不是要打印这个三角形的形状,因此可以想到正常的打印方式应该是…

动态规划基础题,当前所在元素来自上一行的两列的值。

题目

从图可以看出,每一行的第一个数与最后一个数都是1,然后中间的数是来自它左上方和右上方的数的和。当然并不是要打印这个三角形的形状,因此可以想到正常的打印方式应该是从每一行的左边往右边打的,默认的打印与循环的三角形的每一行每一列应该是这样的。

1
1 2 1
1 3 3 1
1 4 6 4 1

从这里就可以开始写循环遍历了,用外循环i去控制行,然后用j表示每一行的每一列即每个元素,可以看到排除首尾是1的情况,就是当前数由上方跟左上方得来,不需要右上方,按这个排列的图找规律。然后排去首尾特殊的数,还发现到,每一行需要dp的数量跟当前行号是一致的,注意这里的行号从0开始,即第一行有一个数为2,第二行有两个数3、3等等。然后就可以依照这些规律写dp了,这里用了嵌套动态数组去加每一行每一列,里面的数组对应每一行的数组,然后外层即一个大的list了。

状态转移方程为:dp[i][j] = dp[i - 1][j - 1] + dp[i - 1][j],这里的get是用来读取arraylist的值。

时间复杂度:O(numRows^2),空间复杂度:O(1)。

class Solution {public List<List<Integer>> generate(int numRows) {List<List<Integer>> res = new ArrayList<List<Integer>>();for (int i = 0; i < numRows; i++) {List<Integer> row = new ArrayList<Integer>();for (int j = 0; j <= i; j++) {  //每一行的数量是行号if (j == 0 || j == i) {row.add(1);//每一行的首尾} else {row.add(res.get(i - 1).get(j - 1) + res.get(i - 1).get(j));//由上一个跟上一个的附近一个得来}}res.add(row);//加入每一行}return res;}
}

动态规划找规律写状态转移方程还是很重要的。

http://www.shuangfujiaoyu.com/news/58210.html

相关文章:

  • wordpress中文主题 wp-cms辽宁seo推广
  • 湛江网站如何制作泉州seo
  • 网站制作布局搜索引擎营销例子
  • wap 企业网站成都seo优化推广
  • 特效网站模板新产品上市推广策划方案
  • wordpress下载主题博客企业seo如何优化
  • 营销网站的策划方案怎么做网站关键词排名seo
  • 免费推广网站怎么做最新百度新闻
  • 做网站建设的公司有哪些关键词推广系统
  • 网站样式模板下载快速排名教程
  • 苹果电脑能建设网站吗微信视频号怎么推广引流
  • wordpress换回原版编辑器百度快速排名优化技术
  • 中国协会网站建设方案百度应用下载安装
  • 自己给别人做网站挣钱吗正规的网店培训机构有哪些
  • 深圳制作网站的公司哪家好网站搭建外贸
  • 做ppt图片用的网站有哪些问题百度指数1000搜索量有多少
  • 网站建设项目设计表北京seo分析
  • 盐城网站推广电话青岛网站建设运营推广
  • 科技网站建设分析百度收录入口在哪里
  • 做私服网站总是被攻击公众号seo排名软件
  • 怎么做qq刷赞网站网站如何进行优化
  • 凡科建站骗局免费的十大免费货源网站
  • 专门做养老院的网站优化设计答案
  • 自己接单做网站seo优化设计
  • python做网站性能太差sem托管公司
  • b2b网站规划媒体推广
  • 长沙知名网站网站制作公司
  • 百度商桥的代码放到网站里关键词优化教程
  • 网站脑图怎么做bt兔子磁力天堂
  • 如何建立网站自己做站长长沙seo代理商