网站建设飠金手指排名十一一个空间放两个网站

张小明 2026/1/5 12:57:25
网站建设飠金手指排名十一,一个空间放两个网站,了解基本的php wordpress,手机网站js触屏滑动图片特效830. 较大分组的位置 问题描述 在一个由小写字母组成的字符串 s 中#xff0c;如果某一组连续字符的长度大于或等于 3#xff0c;则称其为 较大分组。 返回每一个较大分组的起始和结束位置#xff08;索引从 0 开始#xff09;。结果按起始位置升序排列。 示例#xff1a;…830. 较大分组的位置问题描述在一个由小写字母组成的字符串s中如果某一组连续字符的长度大于或等于3则称其为较大分组。返回每一个较大分组的起始和结束位置索引从 0 开始。结果按起始位置升序排列。示例输入:sabbxxxxzzy输出:[[3,6]]解释:xxxx是一个较大分组起始位置3结束位置6。输入:sabc输出:[]解释:没有长度≥3的连续字符组。输入:sabcdddeeeeaabbbcd输出:[[3,5],[6,9],[12,14]]解释:ddd、eeee、bbb都是较大分组。输入:saba输出:[]算法思路双指针核心思想使用两个指针标记当前连续字符组的起始和结束位置遍历字符串当字符发生变化时检查当前组的长度边界处理空字符串或单字符直接返回空列表整个字符串都是同一字符检查总长度是否 ≥ 3代码实现importjava.util.*;classSolution{/** * 找出字符串中所有较大分组连续相同字符长度≥3的位置 * * param s 输入字符串仅包含小写字母 * return 较大分组的起始和结束位置列表按起始位置升序排列 */publicListListIntegerlargeGroupPositions(Strings){ListListIntegerresultnewArrayList();// 边界情况字符串长度小于3不可能有较大分组if(snull||s.length()3){returnresult;}intns.length();intstart0;// 当前连续字符组的起始位置// 从索引1开始遍历比较当前字符与前一个字符for(inti1;in;i){// 当字符发生变化时处理前一个字符组if(s.charAt(i)!s.charAt(i-1)){// 计算当前组的长度intlengthi-start;// 如果长度≥3添加到结果中if(length3){ListIntegergroupArrays.asList(start,i-1);result.add(group);}// 更新起始位置为当前字符的位置starti;}}// 处理最后一个字符组字符串末尾的情况// 最后一个组的长度为 n - startif(n-start3){ListIntegergroupArrays.asList(start,n-1);result.add(group);}returnresult;}}算法分析时间复杂度O(n)只需要遍历字符串一次每个字符只被访问一次空间复杂度O(1)不计算输出空间除了存储结果外只使用常数额外空间算法过程输入s abcdddeeeeaabbbcd初始化start 0i 1b ! a组长度 1-0 1 3start 1i 2c ! b组长度 2-1 1 3start 2i 3d ! c组长度 3-2 1 3start 3i 4d d继续i 5d d继续i 6e ! d组长度 6-3 3 ≥ 3添加[3,5]start 6i 7,8,9连续e继续i 10a ! e组长度 10-6 4 ≥ 3添加[6,9]start 10i 11a a继续i 12b ! a组长度 12-10 2 3start 12i 13,14连续b继续i 15c ! b组长度 15-12 3 ≥ 3添加[12,14]start 15i 16d ! c组长度 16-15 1 3start 16循环结束处理末尾组长度 17-16 1 3结果[[3,5],[6,9],[12,14]]测试用例publicstaticvoidmain(String[]args){SolutionsolutionnewSolution();// 测试用例1标准示例Strings1abbxxxxzzy;System.out.println(Test 1: solution.largeGroupPositions(s1));// [[3,6]]// 测试用例2无较大分组Strings2abc;System.out.println(Test 2: solution.largeGroupPositions(s2));// []// 测试用例3多个较大分组Strings3abcdddeeeeaabbbcd;System.out.println(Test 3: solution.largeGroupPositions(s3));// [[3,5],[6,9],[12,14]]// 测试用例4回文结构Strings4aba;System.out.println(Test 4: solution.largeGroupPositions(s4));// []// 测试用例5整个字符串都是同一字符Strings5aaaaaa;System.out.println(Test 5: solution.largeGroupPositions(s5));// [[0,5]]// 测试用例6空字符串Strings6;System.out.println(Test 6: solution.largeGroupPositions(s6));// []// 测试用例7单字符Strings7a;System.out.println(Test 7: solution.largeGroupPositions(s7));// []// 测试用例8两字符Strings8aa;System.out.println(Test 8: solution.largeGroupPositions(s8));// []// 测试用例9正好3个字符Strings9aaa;System.out.println(Test 9: solution.largeGroupPositions(s9));// [[0,2]]// 测试用例10结尾有较大分组Strings10aaabbb;System.out.println(Test 10: solution.largeGroupPositions(s10));// [[0,2],[3,5]]// 测试用例11开头有较大分组Strings11bbbaaa;System.out.println(Test 11: solution.largeGroupPositions(s11));// [[0,2],[3,5]]}关键点边界处理字符串长度小于3时直接返回空列表处理字符串末尾的字符组循环结束后指针更新只有在字符发生变化时才更新起始位置长度计算为i - start当前索引减去起始索引常见问题为什么需要单独处理末尾的字符组循环在i n时结束最后一个字符组不会触发字符变化的条件需要在循环外单独处理。
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

如何建设网站建设权重7以上的网站

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 创建一个文件修复工具,能够分析损坏的文件(如文档、图片、压缩包等),识别文件类型和结构,尝试自动修复损坏部分。支持常见…

张小明 2026/1/5 1:49:10 网站建设

网站备案是先做网站还是做完了备案带孩子做网站

参数化测试是Pytest框架的核心功能之一,它允许开发者通过单一测试函数覆盖多组输入数据,显著减少代码冗余并提高测试覆盖率。对于软件测试从业者,掌握高级技巧能优化测试套件,应对复杂场景如数据驱动测试、API验证和边界条件检查。…

张小明 2026/1/5 1:49:08 网站建设

社交网站开发公司如何打开国外网站

最近深耕Agentic AI系统搭建,最让我有收获的,莫过于亲手验证了单智能体(Single-Agent)与多智能体(Multi-Agent)的真实差异。对于刚入门大模型开发的小白或程序员来说,这两种架构的选型直接影响项…

张小明 2026/1/5 1:49:06 网站建设

企业网站不足沈阳建设网站费用

2025最新!专科生必看10个AI论文工具测评与推荐 2025年专科生必备的AI论文工具测评与推荐 随着人工智能技术的不断进步,越来越多的学术辅助工具进入大众视野,尤其对于专科生群体而言,在撰写论文过程中常常面临选题困难、资料查找…

张小明 2026/1/5 1:49:05 网站建设

年底 网站备案5118网站的功能

在大语言模型爆发式增长的当下,技术选型正成为企业数字化转型的关键命题。当行业目光聚焦于参数规模竞赛时,一款名为glm-edge-4b-chat的端侧模型正以"小而美"的姿态重新定义边缘计算场景的AI应用范式。这款由智谱AI推出的4B参数对话模型&#…

张小明 2026/1/5 1:49:03 网站建设

营销型网站建设项目需求表wordpress模块化布局

EXT2文件系统:挂载、卸载、保护与缓冲管理详解 1. 文件系统挂载操作 文件系统挂载操作是将一个文件系统连接到当前文件系统树中的特定挂载点。以下是挂载操作的详细步骤: 1. 查找挂载点的inode和内存inode : c ino = getino(pathname); // get ino: mip = iget(dev, …

张小明 2026/1/5 5:28:09 网站建设