当前位置: 首页 > article >正文

算法题(回溯)

一、题目1、括号生成LC 222、单词搜索LC 79二、题解1、括号生成LC 221分析采用回溯的思想解决。递归方法包括 left、right、ans、path、n 五个核心参数其中 left 与 right 分别记录已使用的左、右括号数量ans 用于存储所有合法的括号组合结果path 为固定长度的字符数组用于暂存单组括号组合n 为需要生成的括号对数。递归边界条件右括号使用次数达到 n此时左括号必然也使用了 n 次形成完整合法组合将 path 转换为字符串加入结果集后回溯至上一层。递归过程中当左括号使用次数小于 n 时可向 path 中添加左括号当右括号使用次数小于左括号时可添加右括号。一次递归结束也无需恢复现场因为下一次的获取的括号组合会覆盖上一次的组合。2解答class Solution { public ListString generateParenthesis(int n) { //初始化 ListString ans new ArrayList(); //结果列表存放最终结果 char[] path new char[2 * n]; //存放每一种括号组合 dfs(0, 0, ans, path, n); return ans; } //当前使用了left个左括号right个右括号 public void dfs(int left, int right, ListString ans, char[] path, int n){ if(right n){ //path已经放满获取了一种括号组合添加到结果列表中 ans.add(new String(path)); return; } if(left n){ path[left right] (; dfs(left 1, right, ans, path, n); } if(right left){ //左括号数要小于右括号数才可以选择 path[left right] ); dfs(left, right 1, ans, path, n); } } }2、单词搜索LC 791分析使用回溯方法解决。相较于基础回溯算法这题多了两个参数 i j 来表示搜索位置参数 k 表示字符的下标。通过两层循环遍历矩阵的每一个位置以每个位置作为起点启动深度优先搜索若某次搜索返回 true则证明矩阵中存在目标单词说明board数组中含有Word的字符组合直接返回最终结果。递归边界条件board数组当前位置的字符与word的对应字符不相等直接返回 false 终止当前分支如果相等且 k 值达到字符数组最大下标说明board数组中含有Word字符的组合返回true。对于遍历到的每个board数组中的位置将当前访问的矩阵位置置零作为访问标记在此次递归过程不能再继续访问四个方向递归完成后再恢复现场确保不影响下一次递归。2解答class Solution { static int[][] dir {{-1, 0},{1, 0},{0, -1},{0, 1}}; //方向上下左右 public boolean exist(char[][] board, String word) { //初始化 char[] wordChar word.toCharArray(); for(int i 0; i board.length; i){ //遍历board中每个元素 for(int j 0; j board[i].length; j){ if(dfs(i,j,0,board,wordChar)){ return true; } } } return false; } public boolean dfs(int i, int j, int k, char[][] board, char[] wordChar){ if(board[i][j] ! wordChar[k]){ //当前元素不符合对应字符 return false; } if(k wordChar.length -1){ //当前元素符合对应字符且为最大下标 return true; } board[i][j] 0; //标记当前元素为已使用的 for(int[] d : dir){ //向四个方向递归 int x i d[0]; int y j d[1]; if(x0 xboard.length y0 yboard[x].length dfs(x,y,k1,board,wordChar)){ return true; } } board[i][j] wordChar[k]; //恢复现场 return false; } }

相关文章:

算法题(回溯)

一、题目1、括号生成(LC 22)2、单词搜索(LC 79)二、题解1、括号生成(LC 22)(1)分析采用回溯的思想解决。递归方法包括 left、right、ans、path、n 五个核心参数,其中 lef…...

5分钟搞定Windows风扇控制:FanControl让你的电脑散热更智能更安静

5分钟搞定Windows风扇控制:FanControl让你的电脑散热更智能更安静 【免费下载链接】FanControl.Releases This is the release repository for Fan Control, a highly customizable fan controlling software for Windows. 项目地址: https://gitcode.com/GitHub_…...

GitHub 被分号击穿信任防线,AI 逆向工具敲响闭源系统安全警钟

GitHub 被分号击穿三层信任,AI 填平逆向护城河敲响闭源系统安全警钟 2026 年 3 月 4 日,GitHub 收到 Wiz 通过 Bug Bounty 提交的报告,报告描述的攻击入口极其简单:一条构造过的 git push,带一个 push option&#xff…...

如何免费获取B站8K高清视频:哔哩下载姬完整使用教程

如何免费获取B站8K高清视频:哔哩下载姬完整使用教程 【免费下载链接】downkyi 哔哩下载姬downkyi,哔哩哔哩网站视频下载工具,支持批量下载,支持8K、HDR、杜比视界,提供工具箱(音视频提取、去水印等&#xf…...

告别臃肿!Dell G15笔记本散热控制的轻量级开源替代方案

告别臃肿!Dell G15笔记本散热控制的轻量级开源替代方案 【免费下载链接】tcc-g15 Thermal Control Center for Dell G15 - open source alternative to AWCC 项目地址: https://gitcode.com/gh_mirrors/tc/tcc-g15 你是否厌倦了Dell原厂AWCC软件的缓慢响应和…...

别再只会拖模块了!手把手教你用Simulink封装打造自己的‘智能积木’

从零构建你的Simulink智能积木库:封装技术实战指南 在工程建模领域,Simulink就像数字世界的乐高积木箱,但大多数用户只停留在拖拽现成模块的初级阶段。真正的高手都掌握了一项核心技能——模块封装。这就像把一堆散乱的乐高零件组装成功能完整…...

从“狗的信”看FPGA设计:工程师的幽默隐喻与EDA实践

1. 从一封“狗的信”到工程师的幽默与哲思那天在EE Times上翻到一篇2011年的老文章,标题是《‘Dear God…’ (From the Dog)》,作者是Clive Maxfield。说实话,在一堆充斥着“3nm工艺”、“HBM4 PHY”、“AI Agent”这些硬核技术词汇的行业新闻…...

3分钟快速上手:SillyTavern如何让你成为AI聊天高手

3分钟快速上手:SillyTavern如何让你成为AI聊天高手 【免费下载链接】SillyTavern LLM Frontend for Power Users. 项目地址: https://gitcode.com/GitHub_Trending/si/SillyTavern 你是否厌倦了千篇一律的AI对话界面?想要一个能真正理解你需求、支…...

从愚人节玩笑到工程实践:四个软硬件结合的创意项目技术拆解

1. 从愚人节玩笑到工程师的创意沙盘每年四月一日,总有些介于荒诞与现实之间的“产品”构想冒出来,在工程师社区里引发一阵会心一笑。但如果你仔细琢磨,会发现这些看似玩笑的点子,往往藏着一丝对技术边界、用户体验乃至市场需求的犀…...

从零构建FreeRTOS认知:核心概念与实战框架精讲

1. 认识FreeRTOS:嵌入式系统的"交通指挥官" 第一次接触FreeRTOS时,我盯着文档里那些"任务"、"队列"、"调度器"之类的术语发懵,就像刚拿到驾照就被扔进了早高峰的十字路口。后来才发现,这…...

医疗软件开发框架Framewright:HIPAA合规与FHIR集成实践

1. 项目概述:一个为医疗软件量身定制的开发框架 如果你在医疗软件行业摸爬滚打过几年,一定会对开发过程中的那些“特殊要求”深有体会。这不仅仅是写个增删改查的CRUD应用那么简单,你得时刻绷紧神经,处理HIPAA合规、处理复杂的医学…...

直播人力成本居高不下?2026十大AI数字人直播平台推荐实现长效运营

引文: 2026年,直播电商的竞争早已从“拼人设”转向了“拼夜间值守效率”。据公开数据显示,AI数字人核心市场规模预计在2026年逼近千亿大关,其中“降本”和“长效运营”是众多商家投身高频无人直播的核心诉求。事实上,…...

AI智能体基准测试与差异分析:从评估原理到工程实践

1. 项目概述:当AI智能体学会“自我进化”最近在开源社区里,一个名为agentdiff的项目引起了我的注意。它的名字很有意思,直译过来是“智能体差异”。乍一看,你可能会联想到代码差异对比工具diff,但它的前缀agent又明确指…...

硬件工程师的办公室布局与效率系统:从工具管理到创意激发

1. 我的“极乐之穹”:一个硬件工程师的办公室漫游每次在博客里提到“极乐之穹”,指的都是我的办公室。偶尔,我也会聊起在四处搜罗时遇到并收入囊中的那些令人心动的电子设备或“艺术品”。时间久了,总有人让我拍点照片分享。问题在…...

Switch大气层系统完整教程:从零开始打造稳定自制系统环境

Switch大气层系统完整教程:从零开始打造稳定自制系统环境 【免费下载链接】Atmosphere-stable 大气层整合包系统稳定版 项目地址: https://gitcode.com/gh_mirrors/at/Atmosphere-stable 大气层系统(Atmosphere)是任天堂Switch平台上最…...

AMBA CHI协议Issue F更新解析与SoC设计优化

1. AMBA CHI Issue F协议更新深度解析AMBA CHI(Coherent Hub Interface)作为Arm体系结构中的关键一致性协议,在多核处理器设计中扮演着至关重要的角色。最新发布的Issue F版本对协议规范进行了多项重要修正,这些变更直接影响SoC设…...

航空摇篮长岛:从早期飞行到现代航空工业的技术演进与创新集群

1. 项目概述:从长岛的天空回望航空摇篮如果你对航空史感兴趣,或者像我一样,是个对机械、工程和人类如何突破物理极限着迷的工程师,那么“长岛”这个名字绝对绕不开。它不仅仅是纽约市旁边的一个地理名词,在航空史上&am…...

Instill Core:一站式AI应用构建平台,从数据处理到模型部署全流程实战

1. 项目概述:一站式AI应用构建平台如果你正在为如何将一堆杂乱无章的文档、图片、音频视频数据,转化为可供AI模型直接“食用”的格式而头疼,或者厌倦了在模型部署、API编排和数据处理工具之间反复横跳,那么Instill Core的出现&…...

Gemini深度研究模式权限与数据隔离机制全披露(含GDPR/等保2.0合规对照表)

更多请点击: https://intelliparadigm.com 第一章:Gemini深度研究模式权限与数据隔离机制全景概览 Gemini 深度研究模式(Deep Research Mode)是 Google 提供的高级推理能力,专为复杂多步信息检索与跨源分析设计。该模…...

多核架构下的实时高性能计算优化与实践

1. 多核架构下的实时高性能计算革命五年前还需要超级计算机才能解决的计算密集型问题,如今在嵌入式多核处理器上就能实时完成。这一技术突破正在彻底改变工程计算的格局。作为从业十余年的高性能计算工程师,我见证了从传统集群计算到现代多核实时计算的演…...

测试测量工程师必读:从EMC暗室到传感器选型的实战解析

1. 项目概述:一场关于测试测量知识的“周五挑战”又到了周五下午,手头的项目报告写得差不多了,代码也调试得告一段落,是不是感觉大脑需要换个频道放松一下?作为一名在电子工程和测试测量领域摸爬滚打了十几年的老工程师…...

Flutter 轻量存储方案介绍、区别、对比和使用场景

在 Flutter 项目中,本地存储通常可以分为几类: 第一类是轻量 Key-Value 存储,例如 shared_preferences、get_storage、mmkv,适合保存开关、配置、登录状态等简单数据。 第二类是安全存储,例如 flutter_secure_storage&…...

OpenClaw微信公众号插件wemp v2:双Agent路由与混合知识库实战

1. 项目概述:一个为OpenClaw设计的微信公众号插件如果你正在寻找一个能够将你的AI助手能力无缝接入微信公众号,实现自动化客服、智能问答甚至更复杂交互的解决方案,那么你找对地方了。wemp(WeChat MP Plugin)正是这样一…...

Gemini 辅助做创意写作:故事大纲、角色设定、世界观构建的 AI 协作

很多作者在创作卡壳时,其实不是“没有灵感”,而是缺一套可迭代的设计流程:大纲松散、角色像说明书、世界观看似宏大却前后不一致。2026 年的写作新趋势,是把 Gemini 当作“创作协作伙伴”而不是“代写引擎”,让它参与结…...

从‘幂的末尾’到RSA加密:一个模运算技巧如何贯穿编程竞赛与网络安全?

从竞赛编程到网络安全:模运算的双面人生 第一次在OpenJudge上遇到"幂的末尾"这道题时,我盯着屏幕上的数字发愣——计算a^b的最后三位数,这不就是求a^b模1000的结果吗?当时的我并不知道,这个看似简单的数学技…...

规格驱动营销:用AI代理与工程化思维打造Twitter增长自动化

1. 项目概述:一个为AI SaaS产品设计的Twitter营销自动化工具包如果你正在开发一款AI SaaS产品,并且已经为产品上线后的Twitter营销感到焦虑——不知道如何规划内容、如何与用户互动、如何将推文流量转化为实际用户——那么你很可能需要一套系统化的方法&…...

短视频矩阵系统技术选型:从自研到 SaaS 的成本与收益分析

前言在短视频运营规模化的今天,几乎所有有一定规模的团队都面临着一个关键的技术决策:是自研矩阵管理系统,还是选择成熟的 SaaS 解决方案。很多团队在初期都会选择自研,认为这样可以更好地满足个性化需求,但最终往往陷…...

仅剩72小时可获取的2026终极对比手册(含Prompt工程调优参数表、国产信创环境适配补丁包、等保2.0三级适配验证清单):ChatGPT与Gemini,你选错一个就多花237万年运维成本

更多请点击: https://intelliparadigm.com 第一章:ChatGPT与Gemini 2026年全面对比的基准定义与评估范式 为确保跨模型评估的科学性与可复现性,2026年主流AI基准已统一采用**多维动态评估范式(MDEP)**,该范…...

微型环境传感器技术:PM2.5与VOC检测的突破与应用

1. 个人空气质量监测的技术革命在深圳的一个典型工作日早晨,张工程师像往常一样准备出门上班。他习惯性地查看手机上的空气质量指数,发现室外PM2.5数值高达85μg/m(超过WHO安全标准3倍以上)。犹豫片刻后,他戴上了N95口…...

北京AGG专用配件哪家性价比高

在选择AGG聚砂吸声系统的专用配件时,不少工程方和设计师都会问“北京哪家性价比高”。我的建议是:别只看标价,要看配件与系统的适配度、长期使用的稳定性,以及能否提供及时的技术支持。AGG系统本身是一个完整的声学解决方案&#…...