news 2026/9/3 0:38:56

LeetCode热题100--139. 单词拆分--中等

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
LeetCode热题100--139. 单词拆分--中等

题目

给你一个字符串 s 和一个字符串列表 wordDict 作为字典。如果可以利用字典中出现的一个或多个单词拼接出 s 则返回 true。

注意:不要求字典中出现的单词全部都使用,并且字典中的单词可以重复使用。

示例 1:
输入: s = “leetcode”, wordDict = [“leet”, “code”]
输出: true
解释: 返回 true 因为 “leetcode” 可以由 “leet” 和 “code” 拼接成。

示例 2:
输入: s = “applepenapple”, wordDict = [“apple”, “pen”]
输出: true
解释: 返回 true 因为 “applepenapple” 可以由 “apple” “pen” “apple” 拼接成。
注意,你可以重复使用字典中的单词。

示例 3:
输入: s = “catsandog”, wordDict = [“cats”, “dog”, “sand”, “and”, “cat”]
输出: false

题解

classSolution{publicbooleanwordBreak(Strings,List<String>wordDict){intmaxLen=0;for(Stringword:wordDict){maxLen=Math.max(maxLen,word.length());}Set<String>words=newHashSet<>(wordDict);intn=s.length();boolean[]f=newboolean[n+1];f[0]=true;for(inti=1;i<=n;i++){for(intj=i-1;j>=Math.max(i-maxLen,0);j--){if(f[j]&&words.contains(s.substring(j,i))){f[i]=true;break;}}}returnf[n];}}

解析

出自:教你一步步思考 DP:从记忆化搜索到递推,附题单!(Python/Java/C++/Go/JS/Rust)

classSolution{publicbooleanwordBreak(Strings,List<String>wordDict){// 初始化字典中最长单词的长度为0intmaxLen=0;// 遍历字典,找出最长单词的长度for(Stringword:wordDict){maxLen=Math.max(maxLen,word.length());}// 将字典转为HashSet,提升查找效率(O(1)平均时间)Set<String>words=newHashSet<>(wordDict);// 获取输入字符串s的长度intn=s.length();// 创建动态规划数组f,f[i]表示s的前i个字符能否被拆分为字典中的单词boolean[]f=newboolean[n+1];// 空字符串视为可拆分,作为DP起点f[0]=true;// 从1到n遍历每个位置i,计算f[i]for(inti=1;i<=n;i++){// 从i-1向前遍历j,但最多只回溯maxLen个字符(剪枝优化)for(intj=i-1;j>=Math.max(i-maxLen,0);j--){// 如果前j个字符可拆分(f[j]为true),且子串s[j:i]在字典中if(f[j]&&words.contains(s.substring(j,i))){// 则前i个字符也可拆分f[i]=true;// 找到一个有效分割即可,提前退出内层循环break;}}}// 返回整个字符串s是否可拆分returnf[n];}}
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/2 22:14:35

Open-AutoGLM沉思版下载后性能提升300%?真实压测数据曝光

第一章&#xff1a;Open-AutoGLM沉思版下载后性能提升300%&#xff1f;真实压测数据曝光近期&#xff0c;开源社区对“Open-AutoGLM沉思版”的关注度持续升温。该模型在公开发布后宣称通过架构优化与推理加速技术&#xff0c;在标准测试集上实现相较原版高达300%的性能提升。为…

作者头像 李华
网站建设 2026/9/2 21:25:17

你还在手动调试代码?Open-AutoGLM PC版自动修复能力惊艳了整个技术圈

第一章&#xff1a;你还在手动调试代码&#xff1f;Open-AutoGLM PC版自动修复能力惊艳了整个技术圈在软件开发过程中&#xff0c;调试长期占据开发者最多无效工时。如今&#xff0c;Open-AutoGLM PC版的发布彻底改变了这一局面。其内置的智能代码分析引擎能够实时扫描项目中的…

作者头像 李华
网站建设 2026/8/30 5:56:30

【仅限早期开发者】:Open-AutoGLM 9b私有化部署指南,抢占AI推理先机

第一章&#xff1a;Open-AutoGLM 9b 私有化部署的战略意义在当前企业对数据安全与模型可控性要求日益提升的背景下&#xff0c;Open-AutoGLM 9b 的私有化部署已成为大型组织构建自主AI能力的核心策略。私有化部署不仅保障了敏感业务数据不外泄&#xff0c;还允许企业根据实际需…

作者头像 李华
网站建设 2026/8/27 17:42:19

苹果用户必看!,Open-AutoGLM能否带来iPhone自动化革命?

第一章&#xff1a;苹果用户必看&#xff01;Open-AutoGLM能否带来iPhone自动化革命&#xff1f;随着人工智能技术的不断演进&#xff0c;自动化工具正逐步渗透到日常设备操作中。对于长期受限于封闭生态的苹果用户而言&#xff0c;一款名为 Open-AutoGLM 的开源框架悄然兴起&a…

作者头像 李华
网站建设 2026/9/2 4:59:13

【大模型轻量化新标杆】:Open-AutoGLM 9b的5个你必须掌握的优化技巧

第一章&#xff1a;Open-AutoGLM 9b轻量化背景与核心突破随着大模型在实际场景中的广泛应用&#xff0c;推理成本与部署门槛成为制约其落地的核心瓶颈。Open-AutoGLM 9b作为新一代轻量化语言模型&#xff0c;旨在保持强大语义理解能力的同时&#xff0c;显著降低资源消耗&#…

作者头像 李华