news 2026/4/18 9:21:08

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/4/16 20:20:20

OBS实时回放插件终极使用指南:让精彩瞬间永不消逝

OBS实时回放插件终极使用指南&#xff1a;让精彩瞬间永不消逝 【免费下载链接】obs-replay-source Replay source for OBS studio 项目地址: https://gitcode.com/gh_mirrors/ob/obs-replay-source 为什么你需要实时回放功能&#xff1f; 你是否曾经在直播或录制过程中…

作者头像 李华
网站建设 2026/3/13 17:37:17

Visual Studio完全卸载解决方案:告别残留文件的终极清理工具

Visual Studio完全卸载解决方案&#xff1a;告别残留文件的终极清理工具 【免费下载链接】VisualStudioUninstaller Visual Studio Uninstallation sometimes can be unreliable and often leave out a lot of unwanted artifacts. Visual Studio Uninstaller is designed to t…

作者头像 李华
网站建设 2026/4/18 2:01:17

高效批量网址管理工具:Open Multiple URLs浏览器扩展深度解析

高效批量网址管理工具&#xff1a;Open Multiple URLs浏览器扩展深度解析 【免费下载链接】Open-Multiple-URLs Browser extension for opening lists of URLs built on top of WebExtension with cross-browser support 项目地址: https://gitcode.com/gh_mirrors/op/Open-M…

作者头像 李华
网站建设 2026/4/15 11:16:13

新一代的位于德国柏林的非营利性代码托管平台codeberg

网站&#xff1a;Codeberg.org 看到说zig从github搬到Codeberg了&#xff0c;于是看看Codeberg是个啥网啊&#xff1f; ‌Codeberg 是一个位于德国柏林的非营利性代码托管平台‌&#xff0c;它基于开源软件 Forgejo&#xff08;Gitea 的硬分叉版本&#xff09;构建&#xff0c…

作者头像 李华
网站建设 2026/4/14 22:25:56

QuickMapServices:地理信息服务的智能集成平台

QuickMapServices&#xff1a;地理信息服务的智能集成平台 【免费下载链接】quickmapservices QGIS plugin to find and add map services to a project in one click 项目地址: https://gitcode.com/gh_mirrors/qu/quickmapservices 还在为繁琐的地图服务配置流程而困扰…

作者头像 李华
网站建设 2026/4/18 7:16:36

Sharp-dumpkey实战指南:微信数据库密钥提取技术深度解析

Sharp-dumpkey实战指南&#xff1a;微信数据库密钥提取技术深度解析 【免费下载链接】Sharp-dumpkey 基于C#实现的获取微信数据库密钥的小工具 项目地址: https://gitcode.com/gh_mirrors/sh/Sharp-dumpkey 技术工具概述与定位 Sharp-dumpkey是一款基于C#开发的专业级微…

作者头像 李华