Day39| Leetcode 62. 不同路径 Leetcode 63. 不同路径 II

news/2024/7/20 21:59:33 标签: leetcode, 深度优先, 算法

Leetcode 62. 不同路径

题目链接 62 不同路径

dfs题不多说了,dp也可以做。

class Solution {
public:
    int uniquePaths(int m, int n) {
        int dp[109][109];//vector<vector<int>> dp(m, vector<int>(n, 0));
        for(int i=0;i<m;i++){
            dp[i][0] = 1;
        }
        for(int j=0;j<n;j++){
            dp[0][j] = 1;
        }
        for(int i=1;i<m;i++){
            for(int j=1;j<n;j++){
                dp[i][j] = dp[i-1][j]+dp[i][j-1];
            }
        }
        return dp[m-1][n-1];//起始为0
    }
};

Leetcode 63. 不同路径 II

题目链接 63 不同路径 II

本题目就是dfs普通版本,dp也可以做,直接上代码:

class Solution {
public:
    int uniquePathsWithObstacles(vector<vector<int>>& obstacleGrid) {
        int m = obstacleGrid.size();
        int n = obstacleGrid[0].size();
        if(obstacleGrid[m-1][n-1] == 1||obstacleGrid[0][0] == 1){
            return 0;
        }
        int dp[105][105] ;
        memset(dp,0,sizeof(dp));
        //vector<vector<int>> dp(m, vector<int>(n, 0));
        for(int i=0;i<m&&obstacleGrid[i][0]==0;i++){
            dp[i][0] = 1;
        }
        for(int j=0;j<n&&obstacleGrid[0][j]==0;j++){
            dp[0][j] = 1;
        }
        for(int i=1;i<m;i++){
            for(int j=1;j<n;j++){
                if(obstacleGrid[i][j] == 1)continue;
                dp[i][j] = dp[i-1][j]+dp[i][j-1];
        }
        }
    return dp[m-1][n-1];
    }
};

end


http://www.niftyadmin.cn/n/5245511.html

相关文章

代码随想录算法训练营第四十二天| 416 分割等和子集

目录 416 分割等和子集 416 分割等和子集 class Solution { public:const int N 210;bool canPartition(vector<int>& nums) {vector<int>f(N);int sum 0;for(auto num : nums)sum num;if(sum % 2 1)return false;//如果int target sum / 2;for(int i …

智能优化算法应用:基于北方苍鹰算法无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用&#xff1a;基于北方苍鹰算法无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用&#xff1a;基于北方苍鹰算法无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.北方苍鹰算法4.实验参数设定5.算法结果6.参考…

QWebChannel 是 Qt 框架中用于在 Web 页面和 Qt 应用程序之间进行通信的类

QWebChannel 是 Qt 框架中用于在 Web 页面和 Qt 应用程序之间进行通信的类。 QWebChannel 类提供了一种机制&#xff0c;使得 Web 页面可以与 Qt 应用程序进行双向通信。通过 QWebChannel&#xff0c;可以将 Qt 应用程序中的对象暴露给 Web 页面&#xff0c;并通过信号和槽机制…

系统维护设计

系统维护是确保系统持续稳定运行的关键环节。以下是对系统维护设计的概述&#xff0c;主要包括硬件维护、软件维护、数据备份、安全防护、用户支持、系统优化、故障恢复、文档更新等方面。 硬件维护 硬件维护是对系统硬件组件进行检测、维修和更换的过程&#xff0c;以确保系…

【微服务】springboot整合quartz使用详解

目录 一、前言 二、quartz介绍 2.1 quartz概述 2.2 quartz优缺点 2.3 quartz核心概念 2.3.1 Scheduler 2.3.2 Trigger 2.3.3 Job 2.3.4 JobDetail 2.4 Quartz作业存储类型 2.5 适用场景 三、Cron表达式 3.1 Cron表达式语法 3.2 Cron表达式各元素说明 3.3 Cron表达…

VMware安装OpenEuler(安装界面)

本文中使用的OpenEuler版本&#xff1a;22.03 LTS SP2 VMware&#xff1a;17.0.0 一、下载镜像 根据CPU和场景&#xff0c;按需下载 https://www.openeuler.org/zh/download/?versionopenEuler%2022.03%20LTS%20SP2 二、初始化VmWare 三、配置操作系统 四、安装操作系统 …

采样率越高噪声越大?

ADC采样率指的是模拟到数字转换器&#xff08;ADC&#xff09;对模拟信号进行采样的速率。在数字信号处理系统中&#xff0c;模拟信号首先通过ADC转换为数字形式&#xff0c;以便计算机或其他数字设备能够处理它们。 ADC采样率通常以每秒采样的次数来表示&#xff0c;单位为赫…

好用免费的AI换脸5个工具

在当今社会的发展中&#xff0c;人工智能&#xff08;Artificial Intelligence, AI&#xff09;扮演着关键的角色&#xff0c;其应用领域不断扩展。作为AI的一个分支&#xff0c;换脸技术近年来备受欢迎。这项技术使得将一个人的面部特征迁移到另一个人的照片或视频成为可能。除…