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

网站推广方案范文山东东营市东营区邮编

网站推广方案范文,山东东营市东营区邮编,465端口 WordPress,福州小程序开发平台2024/5/24 Day38 greedy 435. 无重叠区间 763.划分字母区间 56. 合并区间 遇到两个维度权衡的时候,一定要先确定一个维度,再确定另一个维度。如果两个维度一起考虑一定会顾此失彼。 重叠区间问题 435. 无重叠区间 题目链接 435 给定一个区间的集合 i…

2024/5/24 Day38 greedy 435. 无重叠区间 763.划分字母区间 56. 合并区间

遇到两个维度权衡的时候,一定要先确定一个维度,再确定另一个维度。如果两个维度一起考虑一定会顾此失彼。

重叠区间问题

435. 无重叠区间

题目链接 435
给定一个区间的集合 intervals ,其中 intervals[i] = [starti, endi] 。返回 需要移除区间的最小数量,使剩余区间互不重叠 。

提交

注意这里是两边都开的括号不重叠

class Solution {
public:class cmp {public:cmp(){}bool operator()(const vector<int>& a, const vector<int>& b) {return a[0] < b[0];}};int eraseOverlapIntervals(vector<vector<int>>& intervals) {sort(intervals.begin(), intervals.end(), cmp());int arrow = intervals[0][1];int cnt = 1;for (vector<int> interval : intervals) {if (interval[0] >= arrow) {cnt ++;arrow = interval[1];} else {arrow = min (arrow, interval[1]);}}return intervals.size() - cnt;}
};

763.划分字母区间

题目链接 763
给你一个字符串 s 。我们要把这个字符串划分为尽可能多的片段,同一字母最多出现在一个片段中。

注意,划分结果需要满足:将所有划分结果按顺序连接,得到的字符串仍然是 s 。

返回一个表示每个字符串片段的长度的列表。

第一次提交

未知化为已知, 遍历一遍字符串可以得到一个字母的起始位置和终止位置,之后可以转化成类似区间去重

时间效率意外还很不错。

class Solution {
public:static bool cmp (const pair<int, int>& a, const pair<int, int>& b) {return a.first < b.first;}vector<int> partitionLabels(string s) {unordered_map<char, pair<int, int> > map;for (int i = 0; i < s.size(); i++) {char c = s[i];if (map.count(c)) {map[c].second = i;} else {pair<int, int> temp;temp.first = i;temp.second = i;map[c] = temp;}}vector<pair<int, int> > container;for (unordered_map<char, pair<int, int> > :: iterator  it = map.begin(); it != map.end(); it++) {container.push_back(it->second);}sort(container.begin(), container.end(), cmp);int arrow = container[0].second;int start = 0;vector<int> res;container.push_back(make_pair(s.size(), s.size()));for (pair<int, int> p : container) {if (p.first > arrow) {if (res.size() == 0) {res.push_back(p.first);start = p.first;}else {res.push_back(p.first - start);start = p.first;}arrow = p.second;} else {arrow = max (arrow, p.second);}}return res;}
};

学习题解

随想录

并不需要记录起始位置
可以分为如下两步:

  1. 统计每一个字符最后出现的位置

  2. 从头遍历字符,并更新字符的最远出现下标,如果找到字符最远出现位置下标和当前下标相等了,则找到了分割点

用数组要比用unordered_map快

class Solution {
public:vector<int> partitionLabels(string s) {int hash[26] = {0};for (int i = 0; i < s.size(); i++) {hash[s[i] - 'a'] = i;}int right = 0;int left = 0;vector<int> res;for (int i = 0; i < s.size(); i++) {right = max(right, hash[s[i] - 'a']);if (right == i) {res.push_back(right + 1 - left);left = right + 1;}}return res;}
};

56. 合并区间

题目链接 56 以数组 intervals 表示若干个区间的集合,其中单个区间为 intervals[i] = [starti, endi] 。请你合并所有重叠的区间,并返回 一个不重叠的区间数组,该数组需恰好覆盖输入中的所有区间 。

第一次提交

和划分字母区间中我的第一次做法很像

class Solution {
public:static bool cmp(const vector<int>& a, const vector<int>& b) {return a[0] < b[0];}vector<vector<int>> merge(vector<vector<int>>& intervals) {sort(intervals.begin(), intervals.end(), cmp);int start = intervals[0][0];int end = intervals[0][1];vector<vector<int>> res;for (vector<int> interval : intervals) {if (interval[0] > end) {vector<int> temp;temp.push_back(start);temp.push_back(end);res.push_back(temp);start = interval[0];end = interval[1];} else {end = max(end, interval[1]);}}vector<int> temp;temp.push_back(start);temp.push_back(end);res.push_back(temp);return res;}
};

并没有很难

http://www.yayakq.cn/news/876605/

相关文章:

  • 村级网站建设 不断增强wordpress 如何汉化主题
  • 静态网站站内搜索营销方案设计思路
  • 莱芜高端网站建设报价wordpress 百度主题
  • 外贸仿牌网站建设百度网盟推广怎么选择投放网站
  • 满亦工作室 网站建设中国近期的军事大新闻
  • 成都装饰公司网站建设域名买好怎么开始做网站
  • 邯郸做网站哪家好重庆公司建设网站
  • 网站建设实训小组总结wordpress报错
  • 自助建站还是人工建站好wordpress如何跳转页面代码
  • 京东优惠券网站怎么做购物网站模块例子
  • 网站的宣传推广用wordpress案例
  • 大连网站建设蛇皮果电子商务网站建设实训报告主要内容
  • 西城改版网站免费空间申请网站
  • p2p网站建设时间柳城网站建设
  • 中英文双语网站站点深圳网站设计精选刻
  • wordpress friday网站seo内容优化
  • 房城乡建设部门户网站租房子做民宿在哪个网站
  • 实名认证域名可以做电影网站吗闵行网页设计师
  • 大庆开发网站公司多仓库版仓库管理网站建设源码
  • 外贸网站建设的好处wordpress如何建栏目
  • 体育网站建设方案留言板网站建设总结
  • 邵阳 网站开发 招聘app商城网站开发
  • 建筑人才网官方网站中国建筑科学院有限公司认证中心深圳响应式网站建设哪家好
  • 做网站会用到的代码单词前端seo优化
  • 上市的网站设计公司wordpress 导购站模板
  • 成都php网站制作程序员h5设计平台
  • 江都城乡建设局网站水处理网站模板
  • 盐城建设银行招聘网站设计师常用的设计软件有哪些
  • 门户网站建设报告郴州市网站建设科技
  • 如何在eclipse上做网站网络推广怎么做最有效