【Hot100】LeetCode—763. 划分字母区间
目录
- 题目
- 1- 思路
- 2- 实现
- ⭐763. 划分字母区间——题解思路
- 3- ACM 实现
题目
- 原题连接:763. 划分字母区间
1- 思路
思路
目标:同样的字母 字符串尽可能的长
- 问1:怎么确定字母数 ——> 哈希表
- 问2:怎么让字符尽可能的长?——> 统计每个字符出现的最远位置,根据单个字符的最远出现位置,判断字符串的最远出现位置
- 如果满足 字符串中所有字符的最远出现位置 <= 当前字符串的最远出现位置,这个字符串就是最长的
2- 实现
⭐763. 划分字母区间——题解思路

class Solution {List<Integer> res = new ArrayList<>();public List<Integer> partitionLabels(String s) {// 1.定义 hashint[] hash = new int[26];// 2. 求单个字母最远距离for(int i = 0 ; i < s.length();i++){hash[s.charAt(i) - 'a'] = i;}int left = 0;int right = 0;// 3. 实现逻辑for(int i = 0 ; i < s.length();i++){right = Math.max(right,hash[s.charAt(i)-'a']);if(i==right){res.add(right-left+1);left = right+1;}}return res;}
}
3- ACM 实现
public class longestSub {static List<Integer> res = new ArrayList<>();public static List<Integer> partitionLabels(String str){// 1. 定义 hashint len = str.length();int[] hash = new int[len];// 2. 求单个字符最远for(int i = 0 ; i < len;i++){hash[str.charAt(i)-'a'] = i;}int left = 0;int right = 0;// 3. 实现逻辑for(int i = 0 ; i < len;i++){right = Math.max(right,hash[str.charAt(i)-'a']);if(i==right){res.add(right-left+1);left = right+1;}}return res;}public static void main(String[] args) {Scanner sc = new Scanner(System.in);String str = sc.nextLine();List<Integer> forRes = partitionLabels(str);System.out.println(forRes.toString());}
}
相关文章:
【Hot100】LeetCode—763. 划分字母区间
目录 题目1- 思路2- 实现⭐763. 划分字母区间——题解思路 3- ACM 实现 题目 原题连接:763. 划分字母区间 1- 思路 思路 目标:同样的字母 字符串尽可能的长 问1:怎么确定字母数 ——> 哈希表问2:怎么让字符尽可能的长&#…...
分布式服务基于Zookeeper的分布式锁的实现
一、序言 ZooKeeper 的分布式锁机制是一种协调多个客户端访问共享资源的方法。通过使用 ZooKeeper 的持久化节点和临时顺序节点,可以实现高效且可靠的分布式锁。下面是分布式锁的工作原理以及如何使用它的具体步骤。 二、Zookeeper分布式锁的核心原理 创建锁目录节…...
Rust编程-I/O
文件读取: 依赖:标准库中use std::fs; 模块 读取文件:fs::read_to_string(filepath:string) -> Result<String> String是文件内容 下面代码来自《Rust权威指南》,主要作用是从文件中检索,并返回检索内容所在的行…...
FastAPI 学习之路(四十七)WebSockets(三)登录后才可以聊天
之前我们是通过前端自动生成的token信息,这次我们通过注册登录,保存到本地去实现。首先,我们实现一个登录页面,放在templates目录下。 <!DOCTYPE html> <html lang"en"> <head><meta charset&quo…...
数据结构—链式二叉树-C语言
代码位置:test-c-2024: 对C语言习题代码的练习 (gitee.com) 一、前言: 在现实中搜索二叉树为常用的二叉树之一,今天我们就要通过链表来实现搜索二叉树。实现的操作有:建二叉树、前序遍历、中序遍历、后序遍历、求树的节点个数、求…...
nginx代理gitee
背景 若干台agv设备,这些设备都是没有公网的(无法访问百度等)。 一台服务器(ubuntu20.04)有线可以公网,无线可以实现内部通信(agv,plc等设备)。 目的 agv每一次更新代码,拉取代码等都需要切换到有公网的网络,多台agv设…...
一款IM即时通讯聊天系统源码,包含app和后台源码
一款IM即时通讯聊天系统源码 聊天APP 附APP,后端是基于spring boot开发的。 这是一款独立服务器部署的即时通讯解决方案,可以帮助你快速拥有一套自己的移动社交、 企业办公、多功能业务产品。可以 独立部署!加密通道!牢牢掌握通…...
Camunda如何通过外部任务与其他系统自动交互
文章目录 简介流程图外部系统pom.xmllogback.xml监听类 启动流程实例常见问题Public Key Retrieval is not allowed的解决方法java.lang.reflect.InaccessibleObjectException 流程图xml 简介 前面我们已经介绍了Camunda的基本操作、任务、表: Camunda组件与服务与…...
Django ORM中ExpressionWrapper的用途
ExpressionWrapper 在 Django ORM 中,直接在 filter 方法中进行字段间的比较时,不能直接使用算术运算符(如 、-、*、/)来操作 F 对象,需要使用 ExpressionWrapper 来包装表达式并指定输出字段类型。 使用Q对象&#…...
什么软件修复视频画质比较好,视频画质修复工具
有些视频中可能会出现噪点、残影、颜色失真等问题,导致观看时体验感不太好,修复视频画质可以去除这些问题,使视频更加干净、清晰和真实。 高质量的视频画质能够提高观众的观看体验,让观众更加享受观看视频的过程。特别是在需要展示…...
效能工具:执行 npm start 可直接切换proxy代理UR后直接启动项目
1) 背景: 我们项目是2个前端3个后端的配置。前端和每个后端都有需要调试的接口。 因此经常切换vite.congig.js中的proxy后端代理链接,是挺麻烦的。 于是我研究如何能快速切换后端URL,所幸懒人有懒福,我找到了Inquirer 和 fs, 实…...
MongoDB自学笔记(一)
一、MongoDB简介 MongoDB是一款基于C开发的文档型数据库。与传统的关系型数据库有所不同,MongoDB面向的是文档,所谓的文档是一种名为BSON (Binary JSON:二进制JSON格式)是非关系数据库当中功能最丰富,最像…...
【AIGC】二、mac本地采用GPU启动keras运算
mac本地采用GPU启动keras运算 一、问题背景二、技术背景三、实验验证本机配置安装PlaidML安装plaidml-keras配置默认显卡 运行采用 CPU运算的代码step1 先导入keras包,导入数据cifar10,这里可能涉及外网下载,有问题可以参考[keras使用基础问题…...
【Qt】使用临时对象的坑
前言 使用临时对象时,一定要注意临时对象析构后是否会对代码造成影响,下面是一些可能出现的错误 std::string Widget::getStr() {return "nihao"; }void Widget::on_pushButton_clicked() {std::string objStr getStr();const char* str g…...
Apache-Flink未授权访问高危漏洞修复
漏洞等级 高危漏洞!!! 一、漏洞描述 攻击者没有获取到登录权限或未授权的情况下,或者不需要输入密码,即可通过直接输入网站控制台主页面地址,或者不允许查看的链接便可进行访问,同时进行操作。 二、修复建议 根据业务/系统具体情况,结合如下建议做出具体选择: 配…...
Unable to obtain driver using Selenium Manager: Selenium Manager failed解决方案
大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。喜欢通过博客创作的方式对所学的…...
(01)Unity使用在线AI大模型(使用百度千帆服务)
目录 一、概要 二、环境说明 三、申请百度千帆Key 四、使用千帆大模型 四、给大模型套壳 一、概要 在Unity中使用在线大模型分为两篇发布,此篇文档为在Python中使用千帆大模型,整体实现逻辑是:在Python中接入大模型—>发布为可传参的…...
Zed 编辑器发布了原生 Linux 版本
由 Rust 编写、GPU 加速的 Zed 文本编辑器终于提供了正式的 Linux 原生版本!在过去的几个月里,Zed 的 Linux 支持取得了长足的进步,现在已经进入了更正式的阶段。 今天,这款由前 Atom 开发人员创建的现代开源代码编辑器现在在 Li…...
安全入门day01
一、常用名词 1、前后端 (1)前端 前端主要负责用户界面的展示和交互。它通常包括HTML、CSS和JavaScript等技术的使用,也可能使用各种前端框架和库,如React、Vue.js、Angular等,来构建更加复杂和动态的用户界面。前端…...
基于Adaboost的数据分类算法matlab仿真
目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.本算法原理 5.完整程序 1.程序功能描述 基于Adaboost的数据分类算法matlab仿真,分别对比线性分类和非线性分类两种方式。 2.测试软件版本以及运行结果展示 MATLAB2022A版本运行 (完整程序…...
提升编码效率新思路:快马ai工具链替代传统ide破解需求
作为一名前端开发者,我经常遇到重复造轮子的情况。每次新建项目都要从头搭建目录结构,反复写类似的表单验证逻辑,还要花大量时间调整CSS兼容性。最近发现InsCode(快马)平台的AI工具链,意外解决了这些痛点。 智能代码补全体验 传统…...
实战即用:通过快马ai快速构建配置完备的flask web api项目
最近在做一个前后端分离的小项目,需要快速搭建一个轻量级的Web API服务。之前每次新建项目都要手动配置Python环境、安装依赖,特别容易出错。这次尝试用InsCode(快马)平台来生成配置好的Flask项目,整个过程意外地顺畅。 环境配置一步到位 传统…...
Spring Boot整合EasyExcel,动态导出表头和数据
前端页面设置了列表表头 的动态查询,用户可以自己设置那些需要关注的字段,为此,后端需要保持导出的表头与前端一致。 本文介绍如何使用spring booteasyExcel,动态导出数据。 步骤1.设置实体类 Data public class RepairWorkOrder …...
降AI后怎么做知网查重不超标:降AI和查重双通过的操作方法
降AI后怎么做知网查重不超标:降AI和查重双通过的操作方法 被问了太多次降AI后查重相关的问题,写一篇完整教程。 主要工具是嘎嘎降AI(www.aigcleaner.com),4.8元。第一次用的话有些细节知道和不知道差别挺大的。 操作…...
从零解析ATK1218-BD:Arduino实战中的北斗/GPS数据获取与NMEA协议解读
1. 从零认识ATK1218-BD模块 第一次拿到这个火柴盒大小的北斗/GPS双模定位模块时,我完全没想到它能输出这么多信息。ATK1218-BD是正点原子推出的一款工业级定位模块,特别适合用在无人机、车载导航这些需要高精度定位的场景。和普通GPS模块最大的区别是它能…...
yaml-cpp低延迟优化终极指南:实时系统中的高性能解析技巧
yaml-cpp低延迟优化终极指南:实时系统中的高性能解析技巧 【免费下载链接】yaml-cpp A YAML parser and emitter in C 项目地址: https://gitcode.com/gh_mirrors/ya/yaml-cpp yaml-cpp是一个功能强大的C YAML解析器和发射器,完全符合YAML 1.2规范…...
AI赋能嵌入式:借助快马平台为单片机生成轻量级语音唤醒代码框架
AI赋能嵌入式:借助快马平台为单片机生成轻量级语音唤醒代码框架 最近在做一个智能家居的小项目,需要给STM32单片机加上语音唤醒功能。作为嵌入式开发者,最头疼的就是把AI模型移植到资源有限的单片机上。好在发现了InsCode(快马)平台…...
WebDataset数据压缩算法:Zstd、LZ4与Snappy性能对比
WebDataset数据压缩算法:Zstd、LZ4与Snappy性能对比 【免费下载链接】webdataset A high-performance Python-based I/O system for large (and small) deep learning problems, with strong support for PyTorch. 项目地址: https://gitcode.com/gh_mirrors/we/w…...
基于Yalmip+Matlab的主从博弈优化:电动汽车充电定价策略实战解析
1. 主从博弈与电动汽车充电定价的实战背景 当你在手机APP上查看不同时段的充电价格时,背后其实隐藏着一场精妙的数学博弈。充电站运营商希望最大化收益,而车主则追求最低充电成本,这种"定价-响应"的互动关系,正是典型的…...
多维创新打造强泛化智能体模型,LongCat-Flash-Thinking-2601技术报告
在技术领域,我们常常被那些闪耀的、可见的成果所吸引。今天,这个焦点无疑是大语言模型技术。它们的流畅对话、惊人的创造力,让我们得以一窥未来的轮廓。然而,作为在企业一线构建、部署和维护复杂系统的实践者,我们深知…...
