发布时间:2026/7/3 16:00:43
LeetCode刷题 day28
目录1.穿越网格图的安全路径2. 格雷编码1.穿越网格图的安全路径给你一个 m x n 的二进制矩形 grid 和一个整数 health 表示你的健康值。你开始于矩形的左上角 (0, 0) 你的目标是矩形的右下角 (m - 1, n - 1) 。你可以在矩形中往上下左右相邻格子移动但前提是你的健康值始终是 正数 。对于格子 (i, j) 如果 grid[i][j] 1 那么这个格子视为 不安全 的会使你的健康值减少 1 。如果你可以到达最终的格子请你返回 true 否则返回 false 。注意 当你在最终格子的时候你的健康值也必须为正数。示例 1输入grid [[0,1,0,0,0],[0,1,0,1,0],[0,0,0,1,0]], health 1输出true解释沿着下图中灰色格子走可以安全到达最终的格子。示例 2输入grid [[0,1,1,0,0,0],[1,0,1,0,0,0],[0,1,1,1,0,1],[0,0,1,0,1,0]], health 3输出false解释健康值最少为 4 才能安全到达最后的格子。示例 3输入grid [[1,1,1],[1,0,1],[1,1,1]], health 5输出true解释沿着下图中灰色格子走可以安全到达最终的格子。任何不经过格子 (1, 1) 的路径都是不安全的因为你的健康值到达最终格子时都会小于等于 0 。思路广度优先搜索在搜索时遇到单元格为0的格子放入队首遇单元格为1的格子放队尾。并且在放入队列之前先判断若到当前格子路径的消费已经超过health则剪枝不放入队列中否则若到当前格子的消费小于目前的消费则更新格子的路径消费并放入队列classSolution{privatestaticint[][]DIRS{{0,1},{0,-1},{1,0},{-1,0}};publicbooleanfindSafeWalk(ListListIntegergrid,inthealth){//宽度优先遍历intngrid.size(),mgrid.get(0).size();int[][]disnewint[n][m];for(int[]row:dis){Arrays.fill(row,Integer.MAX_VALUE);}//存放下标Dequeint[]qnewArrayDeque();q.offerFirst(newint[]{0,0});dis[0][0]grid.get(0).get(0);//当前格子已计算计算新的格子while(!q.isEmpty()){int[]curq.pollFirst();intcxcur[0],cycur[1];//只要到终点肯定是最短距离//每次添加时都是将小的放前面大的放后面因此双端队列整体是升序的if(cxn-1cym-1){returntrue;}for(int[]dir:DIRS){intxcxdir[0],ycydir[1];if(x0||xn||y0||ym){continue;}intcostdis[cx][cy]grid.get(x).get(y);if(costhealth){continue;}if(costdis[x][y]){dis[x][y]cost;if(grid.get(x).get(y)0){q.offerFirst(newint[]{x,y});}else{q.offerLast(newint[]{x,y});}}}}returnfalse;}}时间复杂度O ( m ∗ n ) O(m*n)O(m∗n)m,n分别是grid的行和列空间复杂度O ( m ∗ n ) O(m*n)O(m∗n)2. 格雷编码n 位格雷码序列 是一个由 2n 个整数组成的序列其中每个整数都在范围 [0, 2n - 1] 内含 0 和 2n - 1第一个整数是 0一个整数在序列中出现 不超过一次每对 相邻 整数的二进制表示 恰好一位不同 且第一个 和 最后一个 整数的二进制表示 恰好一位不同给你一个整数 n 返回任一有效的 n 位格雷码序列 。示例 1输入n 2输出[0,1,3,2]解释[0,1,3,2] 的二进制表示是 [00,01,11,10] 。00 和 01 有一位不同01 和 11 有一位不同11 和 10 有一位不同10 和 00 有一位不同[0,2,3,1] 也是一个有效的格雷码序列其二进制表示是 [00,10,11,01] 。00 和 10 有一位不同10 和 11 有一位不同11 和 01 有一位不同01 和 00 有一位不同示例 2输入n 1输出[0,1]思路# 以n2为例假设已知2位格雷码序列求3位格雷码序列 #00-01-11-10# 先首尾补零序列仍不变 #000-001-011-010# 然后在首位补1#100-101-111-110# 这两个子序列的1的个数关系如下 #000-001-011-010#^|#|V#100-101-111-110# 因此只需保持n-1位格雷码序列不变将原序列首位补1并翻转即可得到n位格雷码序列classSolution{publicListIntegergrayCode(intn){ListIntegeransnewArrayList(1n);ans.add(0);for(inti1;in;i){intOr1(i-1);intmans.size();for(intjm-1;j0;j--){ans.add(ans.get(j)|Or);}}returnans;}}时间复杂度O ( 2 n ) O(2^n)O(2n)空间复杂度O ( 1 ) O(1)O(1)最终答案所需空间不考虑

相关新闻

论文降重效率翻倍攻略:工具组合使用法,半天搞定降重 + 润色全流程
2026/7/3 16:00:43

论文降重效率翻倍攻略:工具组合使用法,半天搞定降重 + 润色全流程

Gradpaper-免费查重复率aigc检测/开题报告/毕业论文/智能排版/文献综述/课程论文。Gradpaper论文智能生成软件,10分钟生成万字毕业论文、期刊论文、文献综述、PPT,Agc查重、降重报告、文献资料。只需一个标题,从开题报告到答辩一键生成软件&a…

阅读更多
三轴运动追踪方案:WSEN-ISDS与TM4C129XKCZAD硬件实现
2026/7/3 16:00:43

三轴运动追踪方案:WSEN-ISDS与TM4C129XKCZAD硬件实现

1. 项目概述:三轴运动追踪的硬件选型与实现 在工业自动化和消费电子领域,精确测量物体在三维空间中的运动和姿态一直是个经典需求。这次我选用Wrth Elektronik的WSEN-ISDS三轴加速度计搭配TI的TM4C129XKCZAD微控制器,搭建了一套完整的空间运动…

阅读更多
WSEN-ISDS与PIC24FJ64GB004运动追踪开发指南
2026/7/3 16:00:43

WSEN-ISDS与PIC24FJ64GB004运动追踪开发指南

1. 项目背景与硬件选型解析 在运动追踪领域,同时捕捉角运动和线性运动的需求正变得越来越普遍。WSEN-ISDS(型号2536030320001)这款三轴MEMS惯性传感器与PIC24FJ64GB004微控制器的组合,为开发者提供了一个高性价比的解决方案。 WS…

阅读更多
Seedance 2.0:面向创作者的AI视频分镜与运镜控制工具
2026/7/3 16:00:43

Seedance 2.0:面向创作者的AI视频分镜与运镜控制工具

1. 先说结论:Seedance 2.0不是Sora的“平替”,而是面向创作者工作流的垂直解法Seedance 2.0最近在海外创作者圈子里炸开了锅。我连续三周每天花4小时以上泡在它的Web界面、Discord社区和YouTube实测频道里,用同一组Prompt反复生成372条10秒视…

阅读更多
LeetCode刷题 day28
2026/7/3 16:00:43

LeetCode刷题 day28

目录1.穿越网格图的安全路径2. 格雷编码1.穿越网格图的安全路径 给你一个 m x n 的二进制矩形 grid 和一个整数 health 表示你的健康值。 你开始于矩形的左上角 (0, 0) ,你的目标是矩形的右下角 (m - 1, n - 1) 。 你可以在矩形中往上下左右相邻格子移动&#xff0…

阅读更多
论文降重效率翻倍攻略:工具组合使用法,半天搞定降重 + 润色全流程
2026/7/3 16:00:43

论文降重效率翻倍攻略:工具组合使用法,半天搞定降重 + 润色全流程

Gradpaper-免费查重复率aigc检测/开题报告/毕业论文/智能排版/文献综述/课程论文。Gradpaper论文智能生成软件,10分钟生成万字毕业论文、期刊论文、文献综述、PPT,Agc查重、降重报告、文献资料。只需一个标题,从开题报告到答辩一键生成软件&a…

阅读更多
三轴运动追踪方案:WSEN-ISDS与TM4C129XKCZAD硬件实现
2026/7/3 16:00:43

三轴运动追踪方案:WSEN-ISDS与TM4C129XKCZAD硬件实现

1. 项目概述:三轴运动追踪的硬件选型与实现 在工业自动化和消费电子领域,精确测量物体在三维空间中的运动和姿态一直是个经典需求。这次我选用Wrth Elektronik的WSEN-ISDS三轴加速度计搭配TI的TM4C129XKCZAD微控制器,搭建了一套完整的空间运动…

阅读更多
WSEN-ISDS与PIC24FJ64GB004运动追踪开发指南
2026/7/3 16:00:43

WSEN-ISDS与PIC24FJ64GB004运动追踪开发指南

1. 项目背景与硬件选型解析 在运动追踪领域,同时捕捉角运动和线性运动的需求正变得越来越普遍。WSEN-ISDS(型号2536030320001)这款三轴MEMS惯性传感器与PIC24FJ64GB004微控制器的组合,为开发者提供了一个高性价比的解决方案。 WS…

阅读更多
Metabase CVE-2021-41277漏洞原理与CTF实战利用全解析
2026/7/3 15:00:43

Metabase CVE-2021-41277漏洞原理与CTF实战利用全解析

1. 项目概述:从一次真实的CTF赛题说起前段时间在打一场线上CTF比赛时,遇到了一道Web题,靶机环境跑着一个看起来像是数据可视化后台的系统。页面很简洁,左上角有个“Metabase”的Logo。题目描述很模糊,就给了个地址&…

阅读更多
AI Coding 六个月真实ROI账本:产品经理的血泪教训,研发的冷静忠告
2026/7/2 4:50:04

AI Coding 六个月真实ROI账本:产品经理的血泪教训,研发的冷静忠告

6个月前的2025年12月,Boris Cherny 公开宣布自己卸载了 IDE。一时间,Vibe Coding 成了全行业最热的话题。6个月后,当我们回过头来拉一份真实账本,发现事情远没有"一句话生成一个App"那么浪漫。本文从产品经理和研发两个…

阅读更多
审计来了,数据权限全开——审计走了,怎么确保权限全部关掉?
2026/7/3 2:39:23

审计来了,数据权限全开——审计走了,怎么确保权限全部关掉?

引言:审计结束三个月了,审计员的权限还没关某城商行每年按照监管要求开展至少一次数据安全审计。审计期间,内审部门需要抽样检查各类业务数据——交易流水、客户信息、员工操作日志、权限配置记录。这些数据分布在不同系统中,审计…

阅读更多
AutoRaise终极指南:3分钟掌握macOS鼠标悬停自动激活窗口技巧
2026/7/3 0:00:39

AutoRaise终极指南:3分钟掌握macOS鼠标悬停自动激活窗口技巧

AutoRaise终极指南:3分钟掌握macOS鼠标悬停自动激活窗口技巧 【免费下载链接】AutoRaise AutoRaise (and focus) a window when hovering over it with the mouse 项目地址: https://gitcode.com/gh_mirrors/au/AutoRaise AutoRaise是一款革命性的macOS窗口管…

阅读更多
AI Agent五大设计模式解析与实战优化
2026/7/3 0:00:39

AI Agent五大设计模式解析与实战优化

1. AI Agent设计模式全景概览在智能系统开发领域,AI Agent的设计模式就像建筑师的蓝图,决定了智能体如何感知环境、处理信息并采取行动。从业五年来,我见证过太多团队因为模式选择不当导致系统重构的案例。最近在金融风控系统升级时&#xff…

阅读更多
iOS自动化测试:基于facebook-wda与weditor的稳定元素定位实战
2026/7/3 0:00:39

iOS自动化测试:基于facebook-wda与weditor的稳定元素定位实战

1. 项目概述:iOS自动化测试的“定位”之痛做iOS自动化测试的朋友,十有八九都卡在“元素定位”这个环节上。你兴冲冲地写好了测试脚本,结果一运行,要么是找不到元素,要么是找到了但点不动,要么是这次能跑通下…

阅读更多
基于Dify与DeepSeek构建私有知识库问答系统实战指南
2026/7/3 2:40:23

基于Dify与DeepSeek构建私有知识库问答系统实战指南

在业务中快速构建一个能理解私有文档、准确回答专业问题的智能助手,是很多开发团队面临的共同挑战。传统方案往往需要从零开始搭建复杂的 RAG(检索增强生成)系统,涉及文档解析、向量化、检索、大模型调用等多个环节,整…

阅读更多
FAE放射组学分析工具:医学影像特征探索的完整解决方案
2026/7/3 4:59:02

FAE放射组学分析工具:医学影像特征探索的完整解决方案

FAE放射组学分析工具:医学影像特征探索的完整解决方案 【免费下载链接】FAE FeAture Explorer 项目地址: https://gitcode.com/gh_mirrors/fae/FAE 你是否曾经面对海量医学影像数据感到无从下手?想要从CT、MRI等影像中提取有价值的定量特征&#…

阅读更多
DesktopNaotu:你的终极离线思维导图解决方案,告别网络依赖!
2026/7/3 11:08:19

DesktopNaotu:你的终极离线思维导图解决方案,告别网络依赖!

DesktopNaotu:你的终极离线思维导图解决方案,告别网络依赖! 【免费下载链接】DesktopNaotu 桌面版脑图 (百度脑图离线版,思维导图) 跨平台支持 Windows/Linux/Mac OS. (A cross-platform multilingual Mind Map Tool) 项目地址:…

阅读更多