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

力扣hot100 划分字母区间 贪心 思维 满注释版

Problem: 763. 划分字母区间
在这里插入图片描述

文章目录

  • 思路
  • 复杂度
  • Code

思路

👨‍🏫 代码随想录
在这里插入图片描述

在这里插入图片描述

复杂度

时间复杂度: O ( n ) O(n) O(n)
空间复杂度: O ( n ) O(n) O(n)

Code

class Solution {public List<Integer> partitionLabels(String s){// 创建哈希表来存储我们记录到字符串中的元素的最后下标int[] right = new int[26];int n = s.length();for (int i = 0; i < n; i++)right[s.charAt(i) - 'a'] = i;ArrayList<Integer> res = new ArrayList<>();int l = 0;// 当前段的起点int r = 0;// 当前段的终点for (int i = 0; i < n; i++){
//			找到出现最远的字符,得到它的下标r = Math.max(r, right[s.charAt(i) - 'a']);if (i == r){res.add(r - l + 1);l = i + 1;//开启下一段的起点}}return res;}
}

相关文章:

力扣hot100 划分字母区间 贪心 思维 满注释版

Problem: 763. 划分字母区间 文章目录 思路复杂度Code 思路 &#x1f468;‍&#x1f3eb; 代码随想录 复杂度 时间复杂度: O ( n ) O(n) O(n) 空间复杂度: O ( n ) O(n) O(n) Code class Solution {public List<Integer> partitionLabels(String s){// 创建哈希…...

linux下使用swap分区扩展内存

swap分区是什么&#xff1f; Swap分区是硬盘上的一个特殊区域&#xff0c;被操作系统用作虚拟内存。当系统的物理内存&#xff08;RAM&#xff09;被全部使用时&#xff0c;操作系统会将一部分数据移动到swap分区&#xff0c;以释放RAM上的空间。这个过程被称为"交换&quo…...

实现sleep函数

作用&#xff1a;让线程休眠&#xff0c;等到指定时间在重新唤起。 基于Date实现&#xff1a; 以上的代码不会让线程休眠&#xff0c;而是通过高负荷计算使cpu无暇处理其他任务。缺点是在sleep的过程中其他所有的任务都会被暂停&#xff0c;包括dom的渲染。sleep的过程中程序会…...

汽车销量可视化分析

目录 一.分析的背景、目的、意义 1、背景 2、目的 3、意义 二.数据来源 三.图表分析 1、汽车品牌销量柱状图 2、中国汽车销量柱状图 3、汽车销量前10排行柱状图 4、汽车厂商销量折线图 ​编辑5、汽车销量词云图 6、汽车车型销量 7、汽车价格分布雷达图 8、汽车分…...

代码随想录算法训练营DAY8 | 字符串(1)

一、LeetCode 344 反转字符串 题目链接&#xff1a; 344.反转字符串https://leetcode.cn/problems/reverse-string/ 思路&#xff1a;双指针法交换。 class Solution {public void reverseString(char[] s) {int n s.length;int left 0, right n-1;while(left < right){c…...

如何更改Outlook阅读邮件时的默认字体?

如果收到的邮件中未指定字体&#xff0c;outlook默认使用宋体显示。 如果觉得不好看&#xff0c;可以进行更改。但不是在outlook中更改&#xff0c;outlook中只是修改编辑器中的字体&#xff0c;和纯文本邮件浏览的字体&#xff0c;不能更改未指定字体的HTML邮件的显示字体。 …...

【C++基础入门】三、运算符(算术运算符、赋值运算符、比较运算符、逻辑运算符)

三、运算符 作用&#xff1a;用于执行代码的运算 本章我们主要讲解以下几类运算符&#xff1a; 运算符类型作用算术运算符用于处理四则运算赋值运算符用于将表达式的值赋给变量比较运算符用于表达式的比较&#xff0c;并返回一个真值或假值逻辑运算符用于根据表达式的值返回…...

ES7.17由于IP变化导致的故障及恢复

背景 1. k8s 升级&#xff0c;导致环境中的ES集群&#xff08;7.17版本&#xff09;重启 2. 集群由于在公有云环境&#xff0c;IP不固定&#xff08;重启后IP可能发生变化&#xff09;&#xff0c;通过 svc 进行访问 curl xxx-master-svc:9200/_cat/health 3. 由多个sts一…...

uniapp H5 touchstart touchend 切换背景会失效,或者没用

uniapp H5 touchstart touchend 切换背景会失效&#xff0c;或者没用 直接上代码 &#xff08;使用 class 以及 hover-class来设置样式&#xff09; class 设置默认的背景图或者样式 hover-class 来设置按下的背景图 或者样式 抬起 按下 <view class"mp_zoom_siz…...

【word visio绘图】关闭visio两线交叉的跳线(跨线)

【visio绘图】关闭visio两线交叉的跳线&#xff08;跨线&#xff09; 1 如何在Visio绘图中关闭visio两线交叉的跳线&#xff08;跨线&#xff09;第一步&#xff1a;打开Visio并创建您的图形第二步&#xff1a;绘制您的连接线第三步&#xff1a;关闭跳线第四步&#xff1a;手动…...

meson、ninja编译dpdk

解压目录meson编译dpdk meson buildmeson编译dpdk debug版 meson setup --buildtypedebug debugbuildmeson编译使用静态库&#xff0c;编译example meson .. --prefix/usr/local --buildtypedebugoptimized --default-librarystatic -Dexamplesallninja编译 ninjaninja安装…...

diff命令详解

diff是Unix系统的一个很重要的工具程序。 它用来比较两个文本文件的差异&#xff0c;是代码版本管理的基石之一。你在命令行下&#xff0c;输入&#xff1a; $ diff < 变动前的文件 > < 变动后的文件 >; diff就会告诉你&#xff0c;这两个文件有何差异。它的显示结…...

Backtrader 文档学习- Broker - Slippage

Backtrader 文档学习- Broker - Slippage 1.概述 回测无法保证真实的市场条件。无论市场模拟有多好&#xff0c;在真实市场条件下都可能发生滑点。这意味着&#xff1a; 请求的价格可能无法与真实市场的价格匹配 集成的回测broker支持滑点。以下参数可以传递给broker &#…...

三子棋游戏小课堂

&#x1fa90;&#x1fa90;&#x1fa90;欢迎来到程序员餐厅&#x1f4ab;&#x1f4ab;&#x1f4ab; 今天的主菜是&#xff0c;C语言实现的三子棋小游戏&#xff0c; 所属专栏&#xff1a; C语言知识点 主厨的主页&#xff1a;Chef‘s blog 前言&…...

golang开源的可嵌入应用程序高性能的MQTT服务

golang开源的可嵌入应用程序高性能的MQTT服务 什么是MQTT&#xff1f; MQTT&#xff08;Message Queuing Telemetry Transport&#xff09;是一种轻量级的、开放的消息传输协议&#xff0c;设计用于在低带宽、高延迟或不可靠的网络环境中进行通信。MQTT最初由IBM开发&#xf…...

uniapp微信小程序-请求二次封装(直接可用)

一、请求封装优点 代码重用性&#xff1a;通过封装请求&#xff0c;你可以在整个项目中重用相同的请求逻辑。这样一来&#xff0c;如果 API 发生变化或者需要进行优化&#xff0c;你只需在一个地方修改代码&#xff0c;而不是在每个使用这个请求的地方都进行修改。 可维护性&a…...

UE4 C++ 结构体

先在UCLASS()前写入&#xff1a; USTRUCT(BlueprintType) struct FMyStruct //必须以"F"开头 {GENERATED_BODY() //必须添加“GENERATED_BODY()”UPROPERTY(EditAnywhere, BlueprintReadWrite, Category "MyStruct1")int32 Health;UPROPERTY(EditAnywher…...

软件工程知识梳理0-概述

学好软件工程就必须理解软件工程到底是干什么的&#xff0c;为什么需要软件工程&#xff0c;以及怎么干的&#xff01;只有理解了软件工程的本质&#xff0c;才能更好的理解软件工程中各种工程手段和方法的目的。 个人开发模式 —> 小作坊开发模式 —> 软件工程开发模式 …...

贪吃蛇---C语言---详解

引言 C语言已经学了不短的时间的&#xff0c;这期间已经开始C和Python的学习&#xff0c;想给我的C语言收个尾&#xff0c;想起了小时候见过别人的老人机上的贪吃蛇游戏&#xff0c;自己父母的手机又没有这个游戏&#xff0c;当时成为了我的一大遗憾&#xff0c;这两天发现C语…...

Airflow原理浅析

⭐️ airflow基本原理 Apache Airflow 是一个开源的工作流自动化工具&#xff0c;它用于调度和管理复杂的数据工作流。Airflow 的原理基于有向无环图&#xff08;DAG&#xff09;的概念&#xff0c;它通过编写和组织任务的有向图来描述工作流程。 以下是 Apache Airflow 的一…...

机器学习如何重塑材料研发:从数据孤岛到智能设计平台

1. 项目概述&#xff1a;当材料研发遇上机器学习材料&#xff0c;这个听起来有点“硬核”的领域&#xff0c;其实是我们身边一切科技产品的基石。从手机屏幕的玻璃&#xff0c;到电动汽车的电池&#xff0c;再到航天飞机的隔热瓦&#xff0c;每一次性能的微小提升&#xff0c;背…...

水纹真实度提升300%的关键技巧,深度拆解--style raw、--chaos 45与自定义tile texture协同机制

更多请点击&#xff1a; https://kaifayun.com 第一章&#xff1a;水纹真实度提升300%的关键技巧&#xff0c;深度拆解--style raw、--chaos 45与自定义tile texture协同机制 水纹渲染的真实感跃升并非依赖单一参数调优&#xff0c;而是三重机制在纹理生成管线中的精准耦合&am…...

瑞数6代JSVMP对抗实战:Node.js环境补全与412绕过

1. 这不是“绕过验证码”&#xff0c;而是一场Web前端对抗的深度解剖瑞数6代&#xff0c;业内常被称作“JSVMP黑盒”的典型代表——它不靠传统混淆堆砌代码体积&#xff0c;也不依赖简单的时间戳或行为采集做判断&#xff0c;而是把整个校验逻辑编译进一套自定义的、高度定制化…...

CANN算子开发调试实战:从“Segmentation Fault“到定位根因的完整流程

写Ascend C算子最怕的不是编译失败——编译失败有明确的错误信息。最怕的是运行时Segmentation Fault&#xff0c;什么都没告诉你&#xff0c;NPU直接挂了。没有堆栈、没有日志、只有一行"Killed"。 这篇整理了算子开发中常见的运行时错误、调试方法、以及定位根因的…...

05-系统技术架构师必备——软件工程方法与UML建模体系

关键词&#xff1a;UML建模、Scrum、敏捷开发、软件测试、白盒测试、McCabe复杂度、瀑布模型、RUPUML 软件工程 敏捷开发 软件测试 Scrum RUP 系统架构 建模系统技术架构师必备——软件工程方法与UML建模体系 摘要 UML建模和软件工程方法是系统技术架构师与开发团队沟通的"…...

如何快速解决Windows 11区域模拟问题:完整API钩子技术指南

如何快速解决Windows 11区域模拟问题&#xff1a;完整API钩子技术指南 【免费下载链接】Locale_Remulator System Region and Language Simulator. 项目地址: https://gitcode.com/gh_mirrors/lo/Locale_Remulator Locale Remulator是一款强大的系统区域和语言模拟工具&…...

终极指南:BetterNCM插件管理器一键安装,让网易云音乐焕然新生

终极指南&#xff1a;BetterNCM插件管理器一键安装&#xff0c;让网易云音乐焕然新生 【免费下载链接】BetterNCM-Installer 一键安装 Better 系软件 项目地址: https://gitcode.com/gh_mirrors/be/BetterNCM-Installer 还在为网易云音乐功能单一而烦恼&#xff1f;Bett…...

Arm开发中DSTREAM调试探针无法识别的排查指南

1. DSTREAM调试探针在Arm开发环境中不可选的排查指南当使用Arm Development Studio&#xff08;Arm DS&#xff09;进行嵌入式开发时&#xff0c;DSTREAM系列调试探针&#xff08;包括DSTREAM-ST、DSTREAM-PT、DSTREAM-HT和DSTREAM-XT&#xff09;偶尔会出现无法在开发环境中被…...

TsubakiTranslator:如何用免费工具打破Galgame语言壁垒的终极指南

TsubakiTranslator&#xff1a;如何用免费工具打破Galgame语言壁垒的终极指南 【免费下载链接】TsubakiTranslator 一款Galgame文本翻译工具&#xff0c;支持Textractor/剪切板/OCR翻译 项目地址: https://gitcode.com/gh_mirrors/ts/TsubakiTranslator 还在为看不懂日语…...

通过Taotoken接入Claude Code解决编程助手Token不足与封号困扰

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 通过Taotoken接入Claude Code解决编程助手Token不足与封号困扰 许多开发者将Claude Code作为日常编程的得力助手&#xff0c;用于代…...