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

广东的网站建设百度网站排名优化软件

广东的网站建设,百度网站排名优化软件,网站设计过程,建筑公司经营范围大全本文已收录于专栏🌸《Java入门一百例》🌸学习指引序、专栏前言一、网格模型二、【例题1】1、题目描述2、解题思路3、模板代码4、代码解析5.原题链接三、【例题2】1、题目描述2、解题思路3、模板代码4、代码解析5.原题链接三、推荐专栏四、课后习题序、专…
本文已收录于专栏
🌸《Java入门一百例》🌸

学习指引

  • 序、专栏前言
  • 一、网格模型
  • 二、【例题1】
    • 1、题目描述
    • 2、解题思路
    • 3、模板代码
    • 4、代码解析
    • 5.原题链接
  • 三、【例题2】
    • 1、题目描述
    • 2、解题思路
    • 3、模板代码
    • 4、代码解析
    • 5.原题链接
  • 三、推荐专栏
  • 四、课后习题

序、专栏前言

   本专栏开启,目的在于帮助大家更好的掌握学习Java,特别是一些Java学习者难以在网上找到系统地算法学习资料帮助自身入门算法,同时对于专栏内的内容有任何疑问都可在文章末尾添加我的微信给你进行一对一的讲解。
   但最最主要的还是需要独立思考,对于本专栏的所有内容,能够进行完全掌握,自己完完全全将代码写过一遍,对于算法入门肯定是没有问题的。
   算法的学习肯定不能缺少总结,这里我推荐大家可以到高校算法社区将学过的知识进行打卡,以此来进行巩固以及复习。
  学好算法的唯一途径那一定是题海战略,大量练习的堆积才能练就一身本领。专栏的任何题目我将会从【题目描述】【解题思路】【模板代码】【代码解析】等四板块进行讲解。

一、网格模型

   网格模型是一个很经典的模型,也可以称之为数字三角形模型。其一般形态就是在一个二维的网格中,以左上角为起点,到右下角为终点,只能往下走或者往右走。求得这个过程中可以获取的不同路径数或者权值最大最小问题,当然如何移动也要根据题意来分析,在转移时亦是如此。今天将带来两道最入门的网格dp入门题。

二、【例题1】

1、题目描述

一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。

机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish” )。

问总共有多少条不同的路径?

2、解题思路

   定义 f[i][j]f[i][j]f[i][j] 为走到 iiijjj 列的不同路径数,显然 iiijjj 列只能从i−1i-1i1jjj 列和iiij−1j-1j1 列走过来,那么具有转移方程:
f[i][j]=f[i−1][j]+f[i][j−1]f[i][j]=f[i-1][j]+f[i][j-1]f[i][j]=f[i1][j]+f[i][j1]
初始化时f[1][1]f[1][1]f[1][1]应该等于1,答案即是f[m][n]f[m][n]f[m][n]

3、模板代码

class Solution {public int uniquePaths(int m, int n) {int[][] f=new int[m+1][n+1];f[1][1]=1;for(int i=1;i<=m;++i){for(int j=1;j<=n;++j){if(i==1&&j==1) continue;f[i][j]=f[i-1][j]+f[i][j-1];}}return f[m][n];}
}

使用滚动数组优化:

class Solution {public int uniquePaths(int m, int n) {int[] f=new int[n+1];f[1]=1;for(int i=1;i<=m;++i){for(int j=1;j<=n;++j){if(i==1&&j==1) continue;f[j]+=f[j-1];}}return f[n];}
}

4、代码解析

滚动数组优化,也是二维dp里常用的优化方式,可以帮忙我们压缩一维空间,不太理解暂时不建议深究。
为了防止边界越界问题,这里大家 iii jjj 都从1开始,如果从0的话在转移时会出现越界。

5.原题链接

不同路径

三、【例题2】

1、题目描述

一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。

机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish”)。

现在考虑网格中有障碍物。那么从左上角到右下角将会有多少条不同的路径?

网格中的障碍物和空位置分别用 1 和 0 来表示。

2、解题思路

转移方程和上面是相同的,不同由于存在障碍物,只有在 i,ji,ji,j 不是障碍物时,我们才进去转移才行,同样为了防止边界越界,我们 dp 时下标同样从1开始。

3、模板代码

class Solution {public int uniquePathsWithObstacles(int[][] obstacleGrid) {int m=obstacleGrid.length;int n=obstacleGrid[0].length;int[][] f=new int[m+1][n+1];if(obstacleGrid[0][0]==0)f[1][1]=1;for(int i=1;i<=m;++i){for(int j=1;j<=n;++j){if(i==1&&j==1) continue;if(obstacleGrid[i-1][j-1]==0)f[i][j]=f[i-1][j]+f[i][j-1];}}return f[m][n];}
}

4、代码解析

注意起点有可能有石头,初始化时需要进行判断。

5.原题链接

不同路径||
在这里插入图片描述

三、推荐专栏

🌌《零基础学算法100天》🌌

四、课后习题

序号题目链接难度评级
1 最小路径和3
👇 学习有疑问?👇
http://www.tj-hxxt.cn/news/70303.html

相关文章:

  • 网站开发的关键技术有哪些网络营销岗位描述的内容
  • i57500网站开发百度搜索资源平台token
  • 海南做公司网站软文推广发稿平台
  • 免费做店招哪个网站好搜索引擎优化的方法有哪些?
  • 自助建设网站百度电脑网页版入口
  • 贵阳做网站cncolourseo搜索引擎优化总结
  • 图片网站怎样选择虚拟主机百度自动点击器
  • wordpress启用主题500错误湖南seo推广多少钱
  • 专业做网站较好的公司seo优化排名易下拉效率
  • 移动网站怎么做优化株洲seo优化推荐
  • 手机端网站制作成都网站seo性价比高
  • 网站建设通知书开发外包网站
  • php与java做网站广告联盟怎么赚钱
  • 自己的网站发文章怎么做外链北京百度推广优化公司
  • 本周新闻热点10条2021seo主要做什么
  • 数据库网站开发价格刷死粉网站推广
  • iis 配置网站详解谷歌独立站seo
  • 苏州网站设计公司软文代写接单平台
  • 重庆网站制作公司多少钱零基础能做网络推广吗
  • 有做兼职的网站吗推广普通话ppt课件
  • 网站建设seo合同书长沙seo招聘
  • 肉菜配送网站建设建站cms
  • c2c网站管理系统下载不花钱网站推广
  • 杭州倍世康 做网站网站排名seo培训
  • 正规的网站建设百度搜索引擎推广步骤
  • 如何看织梦做的网站的源码百度竞价专员
  • 用meteor框架做的微博网站网站外链代发
  • 中国代加工网官网专业百度seo排名优化
  • 中山商城型网站建设站点搜索
  • 长沙装修公司排名十强兰州seo培训