63. Unique Paths II and 64. Minimum Path Sum

文章目录

  • 1 63 Unique Paths II
    • 1.1 题目描述
    • 1.2 动态规划解决
  • 2 64. Minimum Path Sum
  • 2.1 题目理解
  • 2.2 动态规划

这一遍刷dp的题目就很轻松了。

1 63 Unique Paths II

1.1 题目描述

A robot is located at the top-left corner of a m x n grid (marked ‘Start’ in the diagram below).

The robot can only move either down or right at any point in time. The robot is trying to reach the bottom-right corner of the grid (marked ‘Finish’ in the diagram below).

Now consider if some obstacles are added to the grids. How many unique paths would there be?

An obstacle and space is marked as 1 and 0 respectively in the grid.

输入:整数数组grid,表示一个mxn的方格,grid[i][j]=1表示是障碍,不能通过;grid[i][j]=0表示可以通过。
输出:能够从左上角走到右下角的不重复的路径数
规则:只能向下或者向右走

Input: obstacleGrid = [[0,0,0],[0,1,0],[0,0,0]]
Output: 2
Explanation: There is one obstacle in the middle of the 3x3 grid above.
There are two ways to reach the bottom-right corner:

  1. Right -> Right -> Down -> Down
  2. Down -> Down -> Right -> Right

1.2 动态规划解决

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

2 64. Minimum Path Sum

2.1 题目理解

Given a m x n grid filled with non-negative numbers, find a path from top left to bottom right, which minimizes the sum of all numbers along its path.

Note: You can only move either down or right at any point in time.
输入:整数数组grid,表示一个mxn的方格,grid[i][j]表示通过方格的代价。
输出:能够从左上角走到右下角的最小代价
规则:只能向下或者向右走
Input: grid = [[1,3,1],[1,5,1],[4,2,1]]
Output: 7
Explanation: Because the path 1 → 3 → 1 → 1 → 1 minimizes the sum.

2.2 动态规划

class Solution {public int minPathSum(int[][] grid) {int m = grid.length;int n = grid[0].length;int[][] dp = new int[m][n];dp[0][0] = grid[0][0];for(int i=1;i<m;i++){dp[i][0] = dp[i-1][0]+grid[i][0];}for(int j=1;j<n;j++){dp[0][j] = dp[0][j-1]+grid[0][j];}for(int i=1;i<m;i++){for(int j=1;j<n;j++){dp[i][j] = Math.min(dp[i-1][j],dp[i][j-1])+grid[i][j];}}return dp[m-1][n-1];}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/424158.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

LCA模板(数剖实现)

题目链接&#xff1a;https://www.luogu.org/problemnew/show/P3379 题意&#xff1a;LCA模板题。 思路&#xff1a;今天开始学树剖&#xff0c;先拿lca练练。树剖解lca&#xff0c;两次dfs复杂度均为O(n)&#xff0c;每次查询为logn&#xff0c;因此总复杂度为&#xff1a;O(2…

spring mvc学习(23):eclipse创建Maven项目没有src/main/java并不能新建的问题

eclipse里第一次创建Maven项目时&#xff0c;src/main/java与src/test/java目录都不会出现&#xff0c;这是因为eclipse里的一个默认配置。这两个目录是真实存在的&#xff0c;只是隐藏了。 这时候想要让这两个目录出现&#xff0c;就需要修改以下配置&#xff1a; 右击项目-…

Servlet技术简介与编写、编译Servlet程序

1&#xff0e;Servlet技术简介Servlet技术是Sun公司提供的一种实现动态网页的解决方案&#xff0c;它是基于Java编程语言的WEB服务器端编程技术&#xff0c;主要用于在WEB服务器端获得客户端的访问请求信息和动态生成对客户端的响应消息。Servlet技术也是JSP技术&#xff08;另…

spring mvc学习(24):配置maven环境和创建maven项目(建议收藏,超全超详细)

1本次歌谣就对如何创建一个maven项目做一个详细的讲解&#xff0c;毕竟卡了我三天&#xff0c;久久不能入眠&#xff0c;也搜了网上很多的博客 都没有顺利的解决maven项目的创建。这篇建议大家收藏&#xff0c;总会用到的。不然大家看网上的博客也是一脸懵逼。 2首先工具使用…

120. Triangle

文章目录1 题目理解2 解题2.1 动态规划2.2 优化空间2.3进一步优化空间1 题目理解 Given a triangle array, return the minimum path sum from top to bottom. For each step, you may move to an adjacent number on the row below. 输入&#xff1a;一个三角形数组List<…

Torque2D MIT 实战记录: 塔防进度(1)

前言 Torque2D虽然工具不齐全,而且加入MIT不久,但是有老底在,所以即使是第一版也是非常好用和完善的,这几天准备开发一款塔防类的游戏. :) 熟悉了TorqueScript的用法后,写东西还是很快的. 进度 1. 完成了道具库模块 2. 场景系统 3. 阵营逻辑 4. 攻击系统雏形 截图 效果还不错吧…

三十岁前不要去在乎的18件事

1&#xff0e;放弃 把握的反面就是放弃&#xff0c;选择了一个机会&#xff0c;就等于放弃了其它所有的可能。当新的机会摆在面前的时候&#xff0c;敢于放弃已经获得的一切&#xff0c;这不是功亏一篑&#xff0c;这不是半途而废&#xff0c;这是为了谋求更大的发展空间&#…

第一百一十一期:思考 | 一文说透秒杀系统如何设计

秒杀大家都不陌生。自2011年首次出现以来&#xff0c;无论是双十一购物还是 12306 抢票&#xff0c;秒杀场景已随处可见。简单来说&#xff0c;秒杀就是在同一时刻大量请求争抢购买同一商品并完成交易的过程。从架构视角来看&#xff0c;秒杀系统本质是一个高性能、高一致、高可…

TcpClient.Connect函数连接超时的问题(转载)

TcpClient.Connect函数连接超时的问题 问题原述&#xff1a; http://topic.csdn.net/t/20060616/15/4825920.html 调用TcpClient.Connect函数连接其他机器。我在一台机器上测试程序&#xff0c;对于连接根本无法连接&#xff08;物理连接不通&#xff09;的机器&#xff0c;该函…

Programming MS Office 2000 Web Components第二章第一节(第二部分)

排序和过滤 阅读本节时&#xff0c;如果您打开随书光盘Samples\Chap02目录下的SortFilterExample.htm文件。您会发现这个例子很有用。本节展示的代码和描述的特定环境来自这个文件。 电子表格组件支持Excel中的基础的排序和过滤功能&#xff0c;并且通过编程模型和用户界面来提…

309. Best Time to Buy and Sell Stock with Cooldown

1 题目理解 Say you have an array for which the ith element is the price of a given stock on day i. Design an algorithm to find the maximum profit. You may complete as many transactions as you like (ie, buy one and sell one share of the stock multiple tim…

第一百一十二期:96秒100亿!如何抗住双11高并发流量?

今年双 11 全民购物狂欢节进入第十一个年头&#xff0c;1 分 36 秒&#xff0c;交易额冲到 100 亿 !比 2018 年快了近 30 秒&#xff0c;比 2017 年快了近 1 分半!这个速度再次刷新天猫双 11 成交总额破 100 亿的纪录。 作者&#xff1a;邴越 今年双 11 全民购物狂欢节进入第…

不踩坑的Python爬虫:如何在一个月内学会爬取大规模数据

Python爬虫为什么受欢迎如果你仔细观察&#xff0c;就不难发现&#xff0c;懂爬虫、学习爬虫的人越来越多&#xff0c;一方面&#xff0c;互联网可以获取的数据越来越多&#xff0c;另一方面&#xff0c;像 Python这样的编程语言提供越来越多的优秀工具&#xff0c;让爬虫变得简…

股票

FXCM - 网路外汇交易 http://www.fxcmasia.com/chinese/转载于:https://www.cnblogs.com/snowball/archive/2006/06/26/436446.html

740. Delete and Earn

1 题目 Given an array nums of integers, you can perform operations on the array. In each operation, you pick any nums[i] and delete it to earn nums[i] points. After, you must delete every element equal to nums[i] - 1 or nums[i] 1. You start with 0 poin…

第一百一十三期:去伪存真,区块链应用到底能解决什么实际问题?

区块链技术仍然在发展初期&#xff0c;实践应用也停留在试水阶段。就金融等领域而言&#xff0c;区块链究竟意味着什么?今后实践应用的前景何在?在Libra的倒逼下&#xff0c;全球央行数字货币又将如何发展? 作者&#xff1a;第一财经 两周前&#xff0c;区块链成为热词。上…

两种战斗

两种战斗 Written by Allen Lee 战斗分两种&#xff0c;我们一定要把它们分开&#xff0c;就是为了维持生命的战斗&#xff0c;和为了维持自尊的战斗。 如果你无法分清的话&#xff0c;要么你将致使他失去生命。要么你将致使他失去自尊。“你要是现在去帮忙的话&#xff0c;或…

地图图元的闪烁效果制作

实现查找之后如果加上一个闪烁效果会更明显&#xff0c;方法是用个时间控件控制&#xff0c;改变vstyle即可&#xff1b;还可以简单的设置进程休眠时间&#xff0c;改变可视性&#xff0c;利用一个循环&#xff0c;控制闪烁次数。前面一种实现代码如下&#xff1a; 用个时间控件…

790. Domino and Tromino Tiling

文章目录1 题目理解2 动态规划2.1只有一种板2.2 有两种板1 题目理解 We have two types of tiles: a 2x1 domino shape, and an “L” tromino shape. These shapes may be rotated. XX <- domino XX <- “L” tromino X Given N, how many ways are there to tile a …

第一百一十四期:盘点十大最新Web UI测试工具

本文为您盘点目前十大最新Web UI测试工具的各自优缺点&#xff0c;以方便您根据实际情况进行选择。 作者&#xff1a;陈峻 在过去的几年中&#xff0c;业界至少出现了十二种全新的UI测试自动化工具。虽然每一种工具都有各自的侧重点&#xff0c;但是它们普遍将出色的可用性和…