【简单】942. 增减字符串匹配

STC8H开发(十六): GPIO模拟SPI驱动Ci24R1实现低成本无线遥控 本文详细介绍了如何使用STC8H单片机通过GPIO模拟SPI驱动Ci24R1无线模块,实现低成本无线遥控方案。内容涵盖硬件设计要点、软件驱动开发技巧及实战优化经验,特别适合消费电子产品开发者参考。Ci24R1凭借其高性价比和双模协议支持,成为替代传统nRF24L01+的理想选择。 阅读详情

【题目】
给定只含 “I”(增大)或 “D”(减小)的字符串 S ,令 N = S.length。
返回 [0, 1, …, N] 的任意排列 A 使得对于所有 i = 0, …, N-1,都有:
如果 S[i] == “I”,那么 A[i] < A[i+1]
如果 S[i] == “D”,那么 A[i] > A[i+1]
来源:leetcode
链接:https://leetcode-cn.com/problems/di-string-match/
【示例1】
输出:“IDID”
输出:[0,4,1,3,2]
【示例2】
输出:“III”
输出:[0,1,2,3]
【示例3】
输出:“DDI”
输出:[3,2,0,1]
【提示】
1 <= S.length <= 10000
S 只包含字符 “I” 或 “D”
【思路】
1、依旧是双指针,设置left、right指针,left=0,right=S.size();
2、从头到尾遍历S,遇到"I"的时候,将left压入结果集合,然后left++,遇到"D"的时候,将right压入结果集合,然后right–。字符串遍历完之后,结果集合有S.size()个数字,最后再将left或者right压入结果集即可。
【代码】

class Solution {
public:
    vector<int> diStringMatch(string S) {
        vector<int> rs;
        int left=0,right=S.size();
        for(auto x:S){
            if(x=='I'){
                rs.push_back(left);
                left++;
            }else{
                rs.push_back(right);
                right--;
            }
        }
        rs.push_back(left);
        return rs;
    }
};
Camera2Demo 在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作 立即下载

相关推荐

推荐系统在音乐领域的实践:网易云音乐推荐算法解析

你是否有过这样的经历?打开网易云音乐,“私人FM”里总能推到你想听的歌;“每日推荐”的歌单,往往藏着你没听过但一入耳就爱上的曲目。这些“懂你”的推荐背后,是一套复杂却精密的推荐系统在运转。问题陈述:音乐推荐的难点远超一般商品——音乐是高度主观的艺术,用户兴趣易随心情、场景变化;小众音乐的“长尾效应”显著,如何让冷门好歌被发现?传统协同过滤依赖历史行为,面对新用户/新歌曲的“冷启动”问题束手无策;而单纯的内容推荐又难以捕捉用户的隐性兴趣。核心方案:网易云音乐采用“混合推荐策略”——融合协同过滤(CF)

AI天才研究院 2086

Leetcode 942:增减字符串匹配(超详细的解法!!!)

给定只含 "I"(增大)或 "D"(减小)的字符串 S ,令 N = S.length。 返回 [0, 1, ..., N] 的任意排列 A 使得对于所有 i = 0, ..., N-1,都有: 如果 S[i] == "I",那么 A[i] &lt; A[i+1] 如果 S[i] == "D",那么 A[i] &gt; A[i+1] 示例 1: 输出:"IDID" 输出:[0,4,1,3,

coordinate的博客 1545

拆解英飞凌CoolGaN:如何用Silvaco TCAD仿真评估功率GaN HEMT的关键性能(BV、Qg、开关损耗)

本文详细解析了如何使用Silvaco TCAD仿真工具评估英飞凌CoolGaN功率GaN HEMT的关键性能指标,包括击穿电压(BV)、栅电荷(Qg)和开关损耗。通过精确建模极化效应、优化边缘终端结构以及高频开关损耗仿真技术,为功率器件工程师提供了一套完整的'设计-仿真-验证'方法论,助力GaN HEMT在快充、数据中心电源等领域的应用。

weixin_29159995的博客 427

leetcode 算法题942 (简单248) 增减字符串匹配

leetcode 算法题942 (简单248) 增减字符串匹配 题目介绍 给定只含 "I"(增大)或 "D"(减小)的字符串 S , 令 N = S.length。 返回 [0, 1, ..., N] 的任意排列 A 使得对于所有 i = 0, ..., N-1,都有: 如果 S[...

FYuu95100的博客 229

STM32-TIM4-定时器中断

#include "project.h" #include "timer.h" //TIM4_Init(2000 ,72);//定时2ms /* 定时器中断的定时时间设定 定时器只需要配置时钟、TIM和NVIC即可 */ void TIM4_Init(u16 period, u16 prescaler) { NVIC_InitTypeDef NVIC_InitStructure; TIM_...

snaygo 6204

2025秋招LLM大模型多模态面试题(八)- langchain完整面试题

1. **什么是 LangChain** 2. **LangChain 包含哪些核心模块** - 模型输入/输出(Model I/O) - 组件管理 - 数据处理 - 链式组合 - 记忆与上下文管理 - 外部集成 3. **一些核心概念** 4. **什么是 LangChain Agent?** 5. **什么是 LangChain model?** 6. **LangChain 包含哪些特点?** 7. **LangChain 如何使用?** - LangChai

weixin_41496173的博客 2192

【Python】【难度:简单】Leetcode 942. 增减字符串匹配

给定只含"I"(增大)或 "D"(减小)的字符串S,令N = S.length。 返回[0, 1, ..., N]的任意排列A使得对于所有i = 0,..., N-1,都有: 如果S[i] == "I",那么A[i] < A[i+1] 如果S[i] == "D",那么A[i] > A[i+1] 示例 1: 输出:"IDID" 输出:[0,4,1,...

thomashhs12的博客 185

芒果YOLO11改进21:检测头Head篇:即插即用|新颖轻量化非对称多级压缩LADH检测头,原创改进适配YOLOv8高效检测头,检测头新颖性改进,全网首发独一份

检测头Head篇:即插即用|新颖轻量化非对称多级压缩LADH检测头,原创改进适配YOLOv8高效检测头,检测头新颖性改进,全网首发独一份

包括YOLOv5、YOLOv7、YOLOv8等模型改进 791

【leetcode_942】【简单】di-string-match / 增减字符串匹配

贪心

过得精彩,无所谓好坏 384

Autosar CAN 网络管理标准文档

Autosar CAN 网络管理标准文档

蚂蚁小兵 925

GStreamer Plugin之Gst-nvdewarper

支持三种投影类型 NVDS_META_SURFACE_FISH_PUSHBROOM, NVDS_META_SURFACE_FISH_VERTCYL 和NVDS_META_SURFACE_PERSPECTIVE_PERSPECTIVE。关于每个平面的NvDewarperSurfaceMeta参数(projection_type, surface_index, and source_id)以及内存中有效的矫正平面(num_filled_surfaces)包含RGBA格式的一帧的缓存。矫正后的RGBA格式。

pvmsmfchcs的博客 367

942. 增减字符串匹配(简单,字符串)(12.2.)

给定只含 "I"(增大)或 "D"(减小)的字符串 S ,令 N = S.length。返回 [0, 1, ..., N] 的任意排列 A 使得对于所有 i =0, ..., N-1,都有: 如果 S[i] == "I",那么 A[i] &lt; A[i+1] 如果 S[i] == "D",那么 A[i] &gt; A[i+1] 示例 1: 输出:"IDID" 输出:[0,4,1,3,2

花小七 323

2. Android_逆向的历史与发展

学完本节,希望你能够:了解 Android 逆向工程的发展历程,从早期 APK 破解到现代应用保护;入门先把这几类「在干啥」搞清楚,后面学脱壳、反反调试会顺很多。(反编译 APK 得到的类汇编代码,相当于程序的「菜谱」)就能绕过验证,到后来混淆、加固、反调试一起上,逆向难度越来越高。(第三节 什么是 CPU 指令集),帮你搞清楚「反汇编看到的那些指令」是从哪来的、和 Android 逆向有啥关系。有必要——先搞清「没加固时怎么玩」,再学脱壳和对抗,思路才顺。读起来费劲,但逻辑还在,耐心一点还能跟。

长沙火山 1390

leetocde:942. 增减字符串匹配【简单模拟 + 双指针】

分析 简单模拟 i和j从0和n往中间夹 如果碰到I就放i然后 i + 1 如果碰到D就放j然后 j - 1 ac code class Solution: def diStringMatch(self, s: str) -> List[int]: ans = [] i, j = 0, len(s) for c in s: if c == 'I': ans.append(i) .

小楼一夜听春雨 316

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

942. 增减字符串匹配

第五十天 ---942. 增减字符串匹配前言题目要求:整体思路具体代码 前言 博主最近考试了,没时间刷难题了,刷一下简单题练练手,哈哈哈 题目要求: 整体思路 观察样例,这里最大的是s.size(),最小的就是0,所以用一个变量记录即可,mins为最小,每次遇到I就入vector,之后自增,maxs为最大,每次遇到D就入vector,然后自减,最后一定要多出一位,来保证题目要求即可。 具体代码 注: 1、s.size()一定要提前算出来,要不然太慢了。 class Solution { public:

qq_45678698的博客 104

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

Greedy Algorithm EASY 21.11.07

LeetCode 贪心 两道简单题 21.11.07942. 增减字符串匹配解题思路代码实现1. Python实现2. Java实现976. 三角形的最大周长解题思路代码实现1. Python实现2. Java实现明日预告 942. 增减字符串匹配 942. 增减字符串匹配 解题思路 如果第一个是I,那么就给第一个安排最小值,这样后面的数一定是大于这个最小值的 如果第一个是D,那么就给第一个安排最大值,这样后面的数一定是小于这个最大值的 然后把选出来的数剔除,后面的步骤和思想和安排第一个数时相同

LittleFish0820 786

【LeetCode】942. DI String Match 增减字符串匹配

由范围 [0,n] 内所有整数组成的 n + 1 个整数的排列序列可以表示为长度为 n 的字符串 s ,其中: 如果perm[i] < perm[i + 1],那么s[i] == 'I' 如果perm[i] > perm[i + 1],那么 s[i] == 'D' 给定一个字符串 s ,重构排列perm 并返回它。如果有多个有效排列perm,则返回其中 任何一个 。

负雪明烛 2347

LeetCode 942 增减字符串匹配

low双指针 + 贪心策略:通过维护最小值和最大值指针,每次根据字符选择极值,确保每一步选择的最优性,最终线性时间内构造合法排列。

qq_64604732的博客 1147

LeetCode——942. 增减字符串匹配

942. 增减字符串匹配题目描述答案我的答案官方答案方法一:贪心 题目描述 由范围 [0,n] 内所有整数组成的 n + 1 个整数的排列序列可以表示为长度为 n 的字符串 s ,其中: 如果 perm[i] < perm[i + 1] ,那么 s[i] == 'I' 如果 perm[i] > perm[i + 1] ,那么 s[i] == 'D' 给定一个字符串 s ,重构排列 perm 并返回它。如果有多个有效排列perm,则返回其中 任何一个 。 示例 1: 输入:s = “IDI

允诺@晴天的博客 2571

leetcode 942. 增减字符串匹配

【题目】942. 增减字符串匹配 给定只含 “I”(增大)或 “D”(减小)的字符串 S ,令 N = S.length。 返回 [0, 1, …, N] 的任意排列 A 使得对于所有 i = 0, …, N-1,都有: 如果 S[i] == “I”,那么 A[i] < A[i+1] 如果 S[i] == “D”,那么 A[i] > A[i+1] 示例 1: 输出:"IDID" 输出:[0,4,1,3,2] 示例 2: 输出:"III" 输出:[0,1,2,3] 示例 3: 输出:"DDI"

Sophia_fez的博客 365

942. 增减字符串匹配(java)

942. 增减字符串匹配 给定只含 “I”(增大)或 “D”(减小)的字符串 S ,令 N = S.length。 返回 [0, 1, …, N] 的任意排列 A 使得对于所有 i = 0, …, N-1,都有: 如果 S[i] == “I”,那么 A[i] < A[i+1] 如果 S[i] == “D”,那么 A[i] > A[i+1] 示例 1: 输入:“IDID” 输出:[0,4,1,3,2] 示例 2: 输入:“III” 输出:[0,1,2,3] 示例 3: 输入:“DDI” 输出:[3

qq_45954445的博客 300

leetcode - 942 -增减字符串匹配 - java版

文章目录题目代码 题目 给定只含 “I”(增大)或 “D”(减小)的字符串 S ,令 N = S.length。 返回 [0, 1, …, N] 的任意排列 A 使得对于所有 i = 0, …, N-1,都有: 如果 S[i] == “I”,那么 A[i] < A[i+1] 如果 S[i] == “D”,那么 A[i] > A[i+1] 示例 1: 输出:“IDID” 输出:[0,4,...

lingle1的博客 407

LeetCode.942 增减字符串匹配

增减字符串匹配 题目链接 给定只含 “I”(增大)或 “D”(减小)的字符串 S ,令 N = S.length。 返回 [0, 1, …, N] 的任意排列 A 使得对于所有 i = 0, …, N-1,都有: 如果 S[i] == “I”,那么 A[i] &lt; A[i+1] 如果 S[i] == “D”,那么 A[i] &gt; A[i+1] 示例 1: 输出:“IDID” 输出:[...

码农在途的博客 385

LeetCode 942:增减字符串匹配(贪心算法) —— 题解

贪心算法——增减字符串匹配

2601_96587588的博客 413
上一篇: 【简单】面试题 03.04. 化栈为队
下一篇: 【简单】面试题09. 用两个栈实现队列
菜菜2022
博客等级 码龄9年 67粉丝 1033原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值