贪心 - 划分字母区间
题目链接
class Solution {public:vector<int> partitionLabels(string S) {int n = S.size();vector<int> pos(26, 0);// 记录每个字符最后出现的位置for (int i = 0; i < n; ++i) {pos[S[i] - 'a'] = i;}vector<int> ret;int pre = 0;int t = pos[S[0] - 'a'];for (int i = 0; i < n; ++i) {if (t < i) {ret.push_back(i - pre);pre = i;}t = max(t, pos[S[i] - 'a']);}ret.push_back(n - pre);return ret;}
};
贪心 - 划分字母区间相关推荐
- 划分字母区间(双指针,贪心)
划分字母区间(双指针,贪心) 双指针 贪心 题目描述:字符串 S 由小写字母组成.我们要把这个字符串划分为尽可能多的片段,同一字母最多出现在一个片段中.返回一个表示每个字符串片段的长度的列表. 双指针 ...
- 力扣记录:贪心算法3较难(1)区间问题——55 跳跃游戏,45 跳跃游戏II,452 用最少数量的箭引爆气球,435 无重叠区间,763 划分字母区间,56 合并区间
本次题目 55 跳跃游戏 45 跳跃游戏II 452 用最少数量的箭引爆气球 435 无重叠区间 763 划分字母区间 56 合并区间 55 跳跃游戏 局部最优:不管每次跳多少步,取最大跳跃步数,若覆 ...
- 划分字母区间c语言,LeetCode(#763):划分字母区间
一.前言 本题为LeetCode第763题,是一道 贪心算法 相关的算法题,难度中等. 本题链接:#763. 划分字母区间 二.题目 字符串S由小写字母组成.我们要把这个字符串划分为尽可能多的片段,同 ...
- Leetcode题763、划分字母区间(Python题解)
同类问题: 跳跃游戏 跳跃游戏II 视频拼接 问题: 题目来源:力扣(LeetCode) leetcode763.划分字母区间 难度:中等 分析: 贪心 这道题的思路和跳跃游戏II基本一致. 首先我们 ...
- 763. 划分字母区间009(贪心算法+思路+详解+图示)
一:题目: 字符串 S 由小写字母组成.我们要把这个字符串划分为尽可能多的片段,同一字母最多出现在一个片段中.返回一个表示每个字符串片段的长度的列表. 示例: 输入:S = "ababcba ...
- LeetCode 763. 划分字母区间
文章目录 解法1:记录最大最小下标 解法2:贪心 https://leetcode-cn.com/problems/partition-labels/ 难度:中等 字符串 S 由小写字母组成.我们 ...
- 把数组排成最小的数字,划分字母区间,最小覆盖子串,验证回文字符串II
面试题45:把数组排成最小的数字 输入一个正整数数组,把数组里所有的数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个.这里自定义了一个排序规则. class Solution { publi ...
- 763. Partition Labels 划分字母区间
字符串 S 由小写字母组成.我们要把这个字符串划分为尽可能多的片段,同一个字母只会出现在其中的一个片段.返回一个表示每个字符串片段的长度的列表. 示例 1: 输入:S = "ababcb ...
- 763 划分字母区间
题目描述 字符串 S 由小写字母组成.我们要把这个字符串划分为尽可能多的片段,同一字母最多出现 在一个片段中.返回一个表示每个字符串片段的长度的列表. 题解 贪心策略 代码 class Solutio ...
最新文章
- Java项目:网上水果蔬菜项目系统设计和实现(java+springboot+mysql+ssm)
- pgsql 筛选中文字符正则_postgresql varchar字段regexp_replace正则替换
- SQLite-Java-Hibernate类似hibernate的数据库辅助工具
- 0821Cache Buffers chains与共享模式疑问4
- flutter获取Android照片地址,Flutter项目安卓配置启动图片
- “睡服”面试官系列第五篇之proxy(建议收藏学习)
- ADO.NET,浅显
- okHttp3 源码分析
- 2017-2018-1 20179209《Linux内核原理与分析》第六周作业
- 收不到 macOS 正式版更新提醒,如何在Mac上彻底退出Beta计划
- 国内免费汉语语料库-NLP
- 博士生如何进行文献阅读和文献整理?
- windows10+Ubuntu双系统卸载旧Ubuntu并重装Ubuntu(绝对安全)
- CEC2018:动态多目标测试函数DF10~DF14的PS及PF(提供Matlab代码)
- 目标决定人生——没有目标就失去一切 (转载)
- 【深度访问】Cocos2d-JS精品《航海王启航》:我们是要成为游戏王的团队
- iOS判断当前设备机型 (包含至iPhone XS Max)
- 验证一个十六进制的颜色是否合法 合法的字符: #000 #fff #FFF #000000 #ffffff #FFFFFF
- 2012 成都网络赛小记
- 最好用的ftp工具,8款超级好用的最好用的ftp工具
热门文章
- [APP] Android 开发笔记 001-环境搭建与命令行创建项目
- 航旅事业群面试(li)
- .NET 指南:转换操作符
- 【数据结构与算法】之深入解析“随机翻转矩阵”的求解思路与算法示例
- 【数据结构与算法】之深入解析“K个一组翻转链表”的求解思路与算法示例
- Python之深入解析如何使用Python Kivy实现一个“乒乓球”游戏
- Git之深入解析工作流程、常用命令与Reset模式分析
- iOS之深入解析通知NSNotification的底层原理
- iOS经典面试题之分析GCD的dispatch_group任务执行问题
- 2.Vue 声明式渲染