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

贪心算法:划分字母区间

参考资料:代码随想录

题目链接:. - 力扣(LeetCode)

题目的解题思路不难理解。分别统计每个字母最后出现的下标,此处有个小技巧,利用ascii码作差得到每个字母的位置。再遍历一遍字符串,到某个字母的最远下标处开始分割,计算长度。

class Solution {public List<Integer> partitionLabels(String s) {int[] hash = new int[26];char[] chars = s.toCharArray();int left = 0;int right = 0;List<Integer> res = new ArrayList<>();for(int i = 0;i < chars.length;i++){hash[chars[i]-'a'] = i;}for(int i = 0;i < chars.length;i++){right = Math.max(right,hash[chars[i]-'a']);if(i == right){res.add(right-left+1);left = right + 1;}}return res;}
}

相关文章:

  • 包装类..
  • 如何彻底搞懂迭代器(Iterator)设计模式?
  • 反序列化漏洞(JBoss、apache log4、apache Shiro、JWT)Weblogic未授权访问、代码执行、任意上传
  • 《QT实用小工具·六十五》基于QPropertyAnimation实现的移动动画和控件覆盖
  • 内网安全之搭建ADCS证书服务
  • C++ 时间处理-从字符串中解析日期时间
  • 中银基金软件开发工程师春招群面记录
  • 网络安全之BGP详解
  • 通过管理系统完成商品属性维护
  • vue3 + antd-vue@4 a-table单元格合并,rowSpan(行合并),colSpan(列合并)详解, 表头合并详解, 表头自定义详解
  • docker 配置文件使用经验,后续持续增加
  • 设计模式7——建造者模式
  • 保护共享资源的方法(互斥锁)
  • Spring框架中获取方法参数名称:DefaultParameterNameDiscoverer
  • 开发人员容易被骗的原因有很多,涉及技术、安全意识、社会工程学以及工作环境等方面。以下是一些常见原因:
  • [译]CSS 居中(Center)方法大合集
  • conda常用的命令
  • Java IO学习笔记一
  • LeetCode541. Reverse String II -- 按步长反转字符串
  • Python 基础起步 (十) 什么叫函数?
  • 缓存与缓冲
  • 回顾2016
  • ------- 计算机网络基础
  • 讲清楚之javascript作用域
  • 罗辑思维在全链路压测方面的实践和工作笔记
  • 微信小程序填坑清单
  • 我建了一个叫Hello World的项目
  • 小程序 setData 学问多
  • 学习Vue.js的五个小例子
  • 原生Ajax
  • 掌握面试——弹出框的实现(一道题中包含布局/js设计模式)
  • 直播平台建设千万不要忘记流媒体服务器的存在 ...
  • !! 2.对十份论文和报告中的关于OpenCV和Android NDK开发的总结
  • #免费 苹果M系芯片Macbook电脑MacOS使用Bash脚本写入(读写)NTFS硬盘教程
  • (2)STL算法之元素计数
  • (BFS)hdoj2377-Bus Pass
  • (第一天)包装对象、作用域、创建对象
  • .NET 使用配置文件
  • .NET 中什么样的类是可使用 await 异步等待的?
  • .NET/C# 异常处理:写一个空的 try 块代码,而把重要代码写到 finally 中(Constrained Execution Regions)
  • .Net多线程Threading相关详解
  • .net使用excel的cells对象没有value方法——学习.net的Excel工作表问题
  • .net中应用SQL缓存(实例使用)
  • /dev/VolGroup00/LogVol00:unexpected inconsistency;run fsck manually
  • @DataRedisTest测试redis从未如此丝滑
  • @RequestBody的使用
  • []常用AT命令解释()
  • [1159]adb判断手机屏幕状态并点亮屏幕
  • [ASP.NET MVC]如何定制Numeric属性/字段验证消息
  • [AutoSar]BSW_OS 01 priority ceiling protocol(PCP)
  • [CSS]文字旁边的竖线以及布局知识
  • [docker] Docker的数据卷、数据卷容器,容器互联
  • [HOW TO]如何在iPhone应用程序中发送邮件
  • [IE技巧] 如何关闭Windows Server版IE的安全限制
  • [Leetcode LCR 106.判断二分图]