当前位置: 首页 > 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/a/323206.html

相关文章:

  • Win10/11 安装使用 Neo4j Community Edition
  • C++11(四)---可变参数模板
  • 基于视觉智能的时间序列基础模型
  • 【JAVA】使用IDEA创建maven聚合项目
  • Javascript_设计模式(二)
  • Ubuntu+ROS 机械臂拾取和放置
  • 消息中间件 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 / 装饰器