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

【hot100-java】【划分字母区间】

R9-贪心算法篇

印象题:

我记得,先用字典记录每个字母出现的下标,取出首个字母的下标j,然后我们for循环遍历一次,如果该下标大于 j,就要变化新的首字母,如果相等就说明一个字符串完成,如果小于就继续遍历。

class Solution {
    public List<Integer> partitionLabels(String s) {
        List<Integer> ret=new ArrayList<>();
        int [] dict=new int[26];
        for(int i=0;i<s.length();i++){
            dict[s.charAt(i)-'a']=i;
        }
        int num=0;
        int j=dict[s.charAt(0)-'a'];
        for (int i=0;i<s.length();i++){
            num++;
            if(dict[s.charAt(i)-'a']>j){
                j=dict[s.charAt(i)-'a'];
            }
            if(i==j){
                ret.add(num);
                num=0;
            }
        }
        return ret;
    }
}

ps:


http://www.kler.cn/news/323206.html

相关文章:

  • 消息中间件 Kafka 快速入门与实战
  • 让具身智能更快更强!华东师大上大提出TinyVLA:高效视觉-语言-动作模型,遥遥领先
  • mysql复合查询 -- 合并查询(union,union all)
  • 指令个人记录
  • Lab1:虚拟机kolla安装部署openstack,并创建实例
  • [大语言模型-论文精读] MoRAG - 基于多部分融合的检索增强型人体动作生成
  • 海尔嵌入式硬件校招面试题及参考答案
  • Python in Excel作图分析实战!
  • 关于Obj文件格式介绍与Unity加载Obj文件代码参考
  • 阿里云k8s发布vue项目
  • 防砸安全鞋这样挑,舒适又安心!
  • 用矩阵和统计报告估计polynomial线性回归的系数python
  • 直线模组降噪攻略
  • 【开源免费】基于SpringBoot+Vue.JS技术交流分享平台(JAVA毕业设计)
  • 16 Midjourney从零到商用·实战篇:产品工业设计
  • 2024AI做PPT软件如何重塑演示文稿的创作
  • C语言VS实用调试技巧
  • 华为LTC流程架构分享
  • 一天认识一个硬件之硬盘
  • 【代码模板】Python Decorator / 装饰器
  • 828华为云征文 | 华为云X实例部署Docker应用的性能评测优化与实践指南
  • Facebook对现代社交互动的影响
  • 【串口收发不定长数据】使用中断的方式—以AT32为例
  • 最近职场中的两点感悟与思考
  • C语言 | Leetcode C语言题解之第433题最小基因变化
  • CentOS 系统中设置宝塔面板开机自启
  • 【习题】应用开发安全
  • OpenCV视频I/O(2)视频采集类VideoCapture之检索视频流的各种属性函数get()的使用
  • WinForm程序嵌入Web网页
  • 【论文解读】ECCV2018细粒度分类:自监督机制NTS-Net模型引领新方向 (附论文地址)