【每日刷题】Day19

news2025/1/11 20:49:31

【每日刷题】Day19

🥕个人主义:开敲🍉

🔥所属专栏:每日刷题🍍

目录

1. 55. 跳跃游戏 - 力扣(LeetCode)

2. 62. 不同路径 - 力扣(LeetCode)

3. 63. 不同路径 II - 力扣(LeetCode)

1. 55. 跳跃游戏 - 力扣(LeetCode)

//思路:从倒数第二个元素开始向前遍历。如果倒数第二个元素为0,则倒数第三个元素至少要为2才能走到终点;如果倒数第三个元素也为0,则倒数第四个元素至少为3才能走到终点,以此类推。当遇到的元素≥count时,说明可以走到终点了,将count重置为0

bool canJump(int* nums, int numsSize)

{

    if(numsSize==1)//如果数组的元素为1,则起点即为终点,直接返回

    {

        return true;

    }

    int count = 0;

    int i = 0;

    for(i = numsSize-2;i>=0;i--)

    {

        if(nums[i]==0&&count==0)//如果倒数第二个元素为0,则+=2,由于后面遇到为0的元素只+=1,因此这里需要加上count来保证只有一次+=2

        {

            count+=2;

        }

        else if(nums[i]<count)//如果遇到的元素不足以抵消count,则count再++

        {

            count++;

        }

        else if(nums[i]>=count)//当足够抵消后,count重置为0

        {

            count = 0;

        }

    }

    if(count!=0)

    {

        return false;

    }

    return true;

}

2. 62. 不同路径 - 力扣(LeetCode)

//0ms 100%思路:画图理解。

int uniquePaths(int m, int n)

{

    int** arr = (int**)malloc(sizeof(int*)*m);//动态开辟二维数组

    for(int i = 0;i<m;i++)

    {

        arr[i] = (int*)malloc(sizeof(int)*n);//为数组的每一行开辟空间

    }

    for(int i = 0;i<m;i++)

    {

        for(int j = 0;j<n;j++)//将最外圈置为1

        {

            if(i==0||j==0)

            {

                arr[i][j] = 1;

            }

            else

            {

                arr[i][j] = arr[i-1][j]+arr[i][j-1];//最外圈以外的每个格子的走法

            }

        }

    }

    return arr[m-1][n-1];//返回数组最后一个元素的大小即全部走法

}

3. 63. 不同路径 II - 力扣(LeetCode)

//思路:本题和62.不同路径 非常相似,只不过多了障碍物的判断。

int uniquePathsWithObstacles(int** obstacleGrid, int obstacleGridSize, int* obstacleGridColSize)

{

//如果第一个就是障碍物,则没法走,直接返回0

    if(obstacleGrid[0][0]==1)

    {

        return 0;

    }

//动态开辟二维数组

    int** arr = (int**)malloc(sizeof(int*)*obstacleGridSize);

    for(int i = 0;i<obstacleGridSize;i++)

    {

        arr[i] = (int*)malloc(sizeof(int)*(*obstacleGridColSize));

    }

    for(int i = 0;i<obstacleGridSize;i++)

    {

        for(int j = 0;j<(*obstacleGridColSize);j++)

        {

            if(i==0&&j==0&&obstacleGrid[i][j]!=1)//在最外圈放入1,遇到障碍物则不放入

            {

                arr[i][j] = 1;

                continue;

            }

            int tmp1 = 0;

            int tmp2 = 0;

            if((i-1)>=0&&obstacleGrid[i][j]!=1)//最外圈以外当前格子当前行上一列格子的走法,需要判断是否为障碍物

            {

                tmp1 = arr[i-1][j];

            }

            if((j-1)>=0&&obstacleGrid[i][j]!=1)//最外圈以外当前格子上一行当前列格子的走法,同样需要判断是否为障碍物

            {

                tmp2 = arr[i][j-1];

            }

            arr[i][j] = tmp1+tmp2;//当前格子的走法

        }

    }

    return arr[obstacleGridSize-1][(*obstacleGridColSize)-1];//返回终点格子走法

}

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

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

相关文章

48-PCIE转串口和并口电路设计

视频链接 PCIE转串口和并口电路设计01_哔哩哔哩_bilibili PCIe转串口和并口电路设计 1、PCIe转串并口电路设计基本介绍 2、PCIe转串口和并口的方案(京东) 2.1、PCIe转串口 2.1.1、ASIX (亚信)MCS9922-PCIe转2路RS232扩展卡 2.1.2、ASIX (亚信)MCS9900-PCIe转4路RS232扩展卡…

【ARM 裸机】I.MX 启动方式之启动头文件 2

接上一节&#xff1a;【ARM 裸机】I.MX 启动方式之启动头文件 1&#xff1b; 2.3、DCD DCD&#xff0c;Device Configuration Data &#xff0c;就是配置 6ULL 寄存器的&#xff0c;DCD 数据最大限制 1768 字节&#xff1b; CCGR0 是不是很熟悉&#xff1f;对&#xff0c;在…

C++实战——日期类的实现

日期类的实现 前言一、日期类概念实现运用场景 二、日期类的具体实现代码构造函数拷贝构造函数获取日期&#xff08;内联函数&#xff09;赋值加等减等加减小于小于等于大于大于等于相等不相等前置后置前置- -后置- -关于类里重载的比较运算符为什么要加外部const示例 Date.hDa…

鸢尾花数据集的KNN探索与乳腺癌决策树洞察

鸢尾花数据集的KNN探索与乳腺癌决策树洞察 今天博主做了这个KNN和决策树的实验。 一.数据集介绍 介绍一下数据集&#xff1a; 威斯康星州乳腺癌数据集&#xff1a; 威斯康星州乳腺癌数据集&#xff08;Wisconsin Breast Cancer Dataset&#xff09;是一个经典的机器学习数…

git 快问快答

我在实习的时候&#xff0c;是用本地开发&#xff0c;然后 push 到 GitHub 上&#xff0c;之后再从 Linux 服务器上拉 GitHub 代码&#xff0c;然后就可以了。一般程序是在 Linux 服务器上执行的&#xff0c;我当时使用过用 Linux 提供的命令来进行简单的性能排查。 在面试的时…

YMP实现Oracle迁移到YashanDB

迁移需求 ip地址 数据库信息 操作系统信息 源库 192.168.3.132 实例名topdh 用户密码TOPICIS/oracle 端口1521 Centos7.9 x86_64 目标库 192.168.3.175 实例名yasdb 用户密码topicist/opicis 端口1688 Centos7.9 x86_64 迁移前准备 YMP工具获取 根据实际需求向厂…

晨昏线学习

看视图记得标自转方向

C语言指针进阶:数组与指针的联系

目录 1. 数组名的本质2. 使用指针访问数组3. 一维数组传参的本质4. 二级指针5. 指针数组5.1 指针数组模拟二维数组 正文开始。 1. 数组名的本质 数组名代表着这个数组中第一个元素的地址 例如&#xff1a; int arr[4] { 1,2,3,4 }; int *p1 &arr[0]; int *p2 arr;上述…

MATLAB R2024a:重塑商业数学软件的未来

在数字化浪潮席卷全球的今天&#xff0c;商业数学软件已经成为企业、研究机构乃至个人不可或缺的工具。而在这其中&#xff0c;MATLAB R2024a以其卓越的性能和广泛的应用领域&#xff0c;正逐步成为商业数学软件的新标杆。 MATLAB R2024a不仅继承了前代版本的优秀基因&#xf…

VirtualBox Manjaro Linux(kde)虚拟机扩容 增大硬盘存储空间

https://blog.csdn.net/m0_65274357/article/details/131965463 df -h发现/可用空间之后几百M了 文件系统 大小 已用 可用 已用% 挂载点 dev 2.0G 0 2.0G 0% /dev run 2.0G 1.2M 2.0G 1% /run /dev/sda1 40G 37…

手把手教你实现 C 语言的函数多参默认值 「上」

以下内容为本人的学习笔记&#xff0c;如需要转载&#xff0c;请声明原文链接 微信公众号「ENG八戒」https://mp.weixin.qq.com/s/nj0C9SbAuzUOPt_J1n8B_Q 自从上一篇关于 C 语言单个参数函数的默认值实现《C语言函数也可以给形参添加默认值&#xff1f;》发表以来&#xff0c;…

构建Python中的分布式日志系统:ELK与Fluentd的结合

&#x1f47d;发现宝藏 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。【点击进入巨牛的人工智能学习网站】。 在现代软件开发中&#xff0c;日志系统是至关重要的组成部分。它们不仅用于故障排查和性能监…

跟TED演讲学英文:How AI could empower any business by Andrew Ng

How AI could empower any business Link: https://www.ted.com/talks/andrew_ng_how_ai_could_empower_any_business Speaker: Andrew Ng Date: April 2022 文章目录 How AI could empower any businessIntroductionVocabularyTranscriptSummary后记 Introduction Expensiv…

MySQL与Redis缓存一致性的实现与挑战

缓存是提高应用性能的重要手段之一&#xff0c;而 MySQL 和 Redis 是两种常用的数据存储和缓存技术。在许多应用中&#xff0c;常常将 Redis 用作缓存层&#xff0c;以加速对数据的访问。然而&#xff0c;在使用 MySQL 和 Redis 组合时&#xff0c;保持缓存与数据库之间的一致性…

使用 Flask 和 Flask-Login 构建用户认证的 Web 应用程序

在本篇技术博客中&#xff0c;我们将学习如何使用 Flask 框架和 Flask-Login 扩展构建一个具有用户认证功能的简单 Web 应用程序。我们将从创建 Flask 应用实例开始&#xff0c;然后逐步添加用户认证功能。 1. 安装依赖库 首先&#xff0c;确保您已经安装了 Flask、Flask-PyM…

【题解】NC398 腐烂的苹果(多源BFS)

https://www.nowcoder.com/practice/54ab9865ce7a45968b126d6968a77f34?tpId196&tqId40529&ru/exam/oj 从每个腐烂的苹果开始使用广度优先遍历&#xff08;bfs&#xff09; class Solution {int n, m;int dx[4] {0, 0, 1, -1};int dy[4] {1, -1, 0, 0};vector<v…

[AI OpenAI-doc] 微调

学习如何为您的应用程序定制模型。 介绍 微调允许您通过提供以下内容&#xff0c;从 API 提供的模型中获得更多收益&#xff1a; 比提示更高质量的结果能够训练比提示中能容纳的更多示例由于提示更短而节省的标记更低的延迟请求 OpenAI 的文本生成模型已经在大量文本上进行…

ElasticSearch可视化工具:kibana + elasticsearch-head

kibana 下载 地址&#xff1a;https://www.elastic.co/cn/downloads/kibana 下载别的版本&#xff1a;https://www.elastic.co/cn/downloads/past-releases#kibana 将Kibana安装包解压缩 进入config目录&#xff0c;在kibana.yml中添加es服务器地址。&#xff08;如果之前没…

实在Agent:超自动化智能体的革命(附导引指南)

在自动化技术的浪潮中&#xff0c;实在智能推出了实在Agent&#xff08;智能体&#xff09;&#xff0c;一款基于大语言模型和屏幕语义理解技术的超自动化智能体。它通过自然对话交互&#xff0c;将复杂工作简化为一句话指令&#xff0c;自动规划并执行工作任务&#xff0c;极大…

链表 - OJ(超清晰思路+实现)

目录 题目一-移除链表元素&#xff08;来源&#xff09; 题目描述 思路实现 思路一 &#xff08;双指针&#xff09; 思路二&#xff08;虚拟头节点-哨兵位&#xff09; 题目二-反转链表&#xff08;来源&#xff09; 题目描述 思路实现 思路一&#xff08;双指针&#…