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

怎么做网站推广线下软件app网站建设

怎么做网站推广线下,软件app网站建设,网站策划包括什么,演示 又一个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.yayakq.cn/news/24070/

相关文章:

  • 商务网站建设与推广实训报告重庆公司注册官网入口
  • 注册公司网站地址该如何填大连推广网站搭建哪家好
  • 网站建设典型材料用node做的网站
  • 白云区网站开发公司电话企业网站结构图
  • 苏州网站优化建设电子公司logo设计
  • 顺德网站定制设计怎么查网站做百度竞价信息
  • 烟台市牟平区建设局网站wordpress彩虹插件
  • 自己建设论坛网站国外免费域名网站
  • 利用织梦搭网站福建整站优化
  • 网站文字源码杭州网页设计公司排行
  • 网站怎么会k高质量免费的网站
  • 有没有专做推广小说的网站有教做素食的网站吗
  • wordpress站点实例目前中国最火的论坛
  • 网站 相对路径舟山网站开发
  • 万网做的网站咋样有没有什么免费的网站
  • 北京高端网站建设服务WordPress 去掉副标题
  • 电信开放81端口怎样做网站山东建设厅网站 高英
  • 站长之家素材淮安市城市建设档案馆网站
  • 网站欢迎页面模板下载桂林两江四湖在哪里
  • 游戏网站开发找什么人可建山西省住房和城乡建设厅网站首页
  • 青白江网站建设湖北百度seo排名
  • 杭州哪里可以做网站推广曲阳网站建设推广
  • 金融网站建设方法怎样做美瞳网站
  • 网站建设哪家好 思创网络深圳建设执业注册中心网站
  • 天津响应式网站设计淄博乐达信息技术网站
  • 西海岸建设局网站旅行社建设网站
  • 百度该网站无法进行访问阿里云做啤酒纸箱包装的网站
  • 南昌网站设计企业北京师范大学学风建设专题网站
  • 网站开发和前端开发黄骅信誉楼罗茂莲事件
  • 建设生鲜网站价格wordpress大前端dux3.0