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

昆明网站建设_云南网站建设淘宝关键词怎么选取

昆明网站建设_云南网站建设,淘宝关键词怎么选取,网站建设如何加入字体,WordPress免费问答主题动态规划基础题,当前所在元素来自上一行的两列的值。 题目 从图可以看出,每一行的第一个数与最后一个数都是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.hengruixuexiao.com/news/47644.html

相关文章:

  • 0投资创业做什么比较好台州关键词优化报价
  • 做类似淘宝的网站设计需要什么东莞疫情最新消息今天又封了
  • 佛山网站排名优化百度人工服务在线咨询
  • 怎样换网站关键词最近三天的新闻热点
  • 做一百度网站吗淘宝的17种免费推广方法
  • 万界商城系统白帽seo是什么
  • 平台企业灰色seo关键词排名
  • 做网站的目的是什么最佳磁力引擎吧
  • 网站建设价格东莞最新消息 今天
  • 微博优惠券网站怎么做百度精简版入口
  • cnd设计网站网站推广排名哪家公司好
  • 哪些网站做写字楼出租东莞seo公司
  • 免费网站生成如何推广一个产品
  • 哪里网站开发小程序产品网络营销推广方案
  • 买域名后 怎么做网站佣金高的推广平台
  • 企业网站主页模板产品营销网站建设
  • 做网站vpn多大内存大数据网站
  • 重庆官方网站有哪些网络营销推广案例
  • 网站建设统计表谷歌网页版入口在线
  • 有没有做美食的视频网站360竞价推广客服电话
  • 网络设计方案3000字windows优化大师免费版
  • 目前做响应式网站最好的cms开网店
  • 建设会计协会网站最有效的网络推广方式和策略
  • 商城类网站建设步骤seo推广优化外包公司
  • 网络推广就是做网站吗怎样在网上做推广
  • 网站建设绩效考核方案ppt推广文案范例
  • 网站集群建设中标谈谈你对网络营销的看法
  • 佛山网站建设no.1广告语
  • 做饲料机的川工网站苏州关键词排名系统
  • 下载贵州省建设厅网站网络技术推广服务