news 2026/4/3 10:41:41

1970. 你能穿过矩阵的最后一天

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
1970. 你能穿过矩阵的最后一天

1970. 你能穿过矩阵的最后一天


题目链接:1970. 你能穿过矩阵的最后一天

代码如下:

//参考链接:https://leetcode.cn/problems/last-day-where-you-can-still-cross/solutions/936629/dao-xu-bing-cha-ji-by-endlesscheng-canjclassUnionFind{public:UnionFind(intn):fa(n){// 一开始有n个集合 {0},{1}...{n-1}//集合i的代表元是自己ranges::iota(fa,0);}//返回x所在集合的代表元//同时做路径压缩,也就是把x所在集合中所有元素的fa都改成代表元intfind(intx){//如果fa[x]==x,则表示x是代表元if(fa[x]!=x){fa[x]=find(fa[x]);//fa改成代表元}returnfa[x];}//判断x和y是否在同一个集合boolis_same(intx,inty){//如果x的代表元和y的代表元相同,那么x和y就在同一个集合//这就是代表元的作用:用来迅速判断两个元素是否在同一个集合returnfind(x)==find(y);}//把from所在集合合并到to所在集合中voidmerge(intfrom,intto){intx=find(from),y=find(to);fa[x]=y;// 合并集合,修改后就可以认为from 和 to在同一个集合了}private:vector<int>fa;// 代表元};classSolution{public:intlatestDayToCross(introw,intcol,vector<vector<int>>&cells){inttop=row*col;intbottom=row*col+1;UnionFinduf(row*col+2);vector<vector<int8_t>>land(row,vector<int8_t>(col));for(intday=cells.size()-1;;day--){auto&cell=cells[day];intr=cell[0]-1;// 改成从0开始的下标intc=cell[1]-1;intv=r*col+c;land[r][c]=true;//突变陆地if(r==0){uf.merge(v,top);// 与最上面相连}if(r==row-1){uf.merge(v,bottom);// 与最下面相连}for(auto&d:DIRS){intx=r+d[0],y=c+d[1];if(0<=x&&x<row&&0<=y&&y<col&&land[x][y]){uf.merge(v,x*col+y);//与四周的陆地相连}}//最上边和最下边相连if(uf.is_same(top,bottom)){returnday;}}}private://左右上下staticconstexprintDIRS[4][2]={{0,-1},{0,1},{-1,0},{1,0}};};
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/3/31 12:54:21

PyMOL分子可视化系统:终极安装与使用完整指南

PyMOL分子可视化系统&#xff1a;终极安装与使用完整指南 【免费下载链接】pymol-open-source Open-source foundation of the user-sponsored PyMOL molecular visualization system. 项目地址: https://gitcode.com/gh_mirrors/py/pymol-open-source PyMOL是一款功能强…

作者头像 李华
网站建设 2026/3/26 22:49:25

OpenRGB完全指南:一站式免费开源RGB灯光统一管理解决方案

OpenRGB完全指南&#xff1a;一站式免费开源RGB灯光统一管理解决方案 【免费下载链接】OpenRGB Open source RGB lighting control that doesnt depend on manufacturer software. Supports Windows, Linux, MacOS. Mirror of https://gitlab.com/CalcProgrammer1/OpenRGB. Rel…

作者头像 李华
网站建设 2026/3/31 14:24:56

AutoUnipus智能刷课完全手册:告别繁琐网课,拥抱高效学习

AutoUnipus智能刷课完全手册&#xff1a;告别繁琐网课&#xff0c;拥抱高效学习 【免费下载链接】AutoUnipus U校园脚本,支持全自动答题,百分百正确 2024最新版 项目地址: https://gitcode.com/gh_mirrors/au/AutoUnipus 你是否还在为U校园网课中重复单调的答题任务而烦…

作者头像 李华
网站建设 2026/4/3 6:09:34

qoder官网OCR实践:静态站点内容提取自动化

qoder官网OCR实践&#xff1a;静态站点内容提取自动化 &#x1f4d6; 项目背景与技术选型动因 在构建静态站点的过程中&#xff0c;内容采集是关键一环。传统方式依赖人工录入或爬虫抓取结构化数据&#xff0c;但面对非结构化的图像类文档&#xff08;如扫描件、截图、宣传页等…

作者头像 李华
网站建设 2026/4/1 23:11:09

OBS实时回放插件深度解析:打造专业级慢动作重播体验

OBS实时回放插件深度解析&#xff1a;打造专业级慢动作重播体验 【免费下载链接】obs-replay-source Replay source for OBS studio 项目地址: https://gitcode.com/gh_mirrors/ob/obs-replay-source 想要在直播中即时回放精彩瞬间&#xff1f;OBS Studio的实时回放插件…

作者头像 李华
网站建设 2026/3/21 5:25:43

汇编语言全接触-78.如何产生一个BMP文件

概述&#xff1a;BMP 文件是一种常用的图像文件格式&#xff0c;本文的例子程序产生一个简单的 640x480 24 bit 颜色的 BMP 文件。BMP 文件的格式分两部分&#xff0c;第一部分为文件头&#xff0c;具体定义见源程序&#xff0c;第二部分为数据区&#xff0c;紧接着文件头存放。…

作者头像 李华