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

华资源网站建设ui设计

华资源网站建设,ui设计,wordpress中文博客,网站二级域名查询56. 合并区间 遇到了三个问题,一一说来: 1 比较应该按左区间排序,我却写了右区间。由于本题是合并区间,判断是否连续显然是用下一个的左区间与前一个的右区间比较,属于没想清楚了。 2 在写for循环时写成了如下的代码…

56. 合并区间

遇到了三个问题,一一说来:
1 比较应该按左区间排序,我却写了右区间。由于本题是合并区间,判断是否连续显然是用下一个的左区间与前一个的右区间比较,属于没想清楚了。

2 在写for循环时写成了如下的代码:
但margin不应该取i+1,因为在这种情况下,第i号的intervals实际上还没有被添加到结果集result里面,所以应该是令margin=intervals[i]才是对的。

        for(int i=0; i<intervals.size(); i++){if(margin[1] >= intervals[i][0]){margin[1] = max(intervals[i][1], margin[1]);}else{result.push_back(margin);if(i != intervals.size()-1){margin = intervals[i+1];}}}

3 提交后发现速度只击败了10%

换成了Lambda 表达式一下从134ms变成了7ms,问了下GPT:

并且自己对lambda表达式的定义方法也还需要再熟悉。 

class Solution {
public:vector<vector<int>> merge(vector<vector<int>>& intervals) {sort(intervals.begin(), intervals.end(), [](vector<int> &val1, vector<int> &val2) {return val1[0] < val2[0];});vector<int> margin = intervals[0];vector<vector<int>> result;for(int i=1; i<intervals.size(); i++){if(margin[1] >= intervals[i][0]){margin[1] = max(intervals[i][1], margin[1]);}else{result.push_back(margin);margin = intervals[i];}}result.push_back(margin);return result;}

738.单调递增的数字

没看解析前自己想的方法逻辑有漏洞,还以为结果不是原始的n就是x999,但实际上并非如此;

实际上的规则应该是:从哪一位开始违反递增规则,就把其后面的数全都置为9,并且将当前位置元素值-1,然后当前位置元素值发生变化有可能会影响与前面元素的大小关系。因此,这使得遍历顺序需要从后往前。

看完了解析后,自己写了一版,只能用麻烦来形容:

class Solution {
public:int monotoneIncreasingDigits(int n) {deque<int> nums;int slice = n;int cur = 0;int pre = 9;while(slice > 0){  cur = slice - int(slice/10)*10;slice = slice/10;if(pre < cur){for(int i=0; i<nums.size(); i++){nums[i] = 9;}nums.push_front(cur-1);pre = cur - 1;}else{nums.push_front(cur);pre = cur;}}int result = 0;int length = nums.size();for(int i=0; i<length; i++){result = result*10 + nums[i];}return result;}
};

主要麻烦在了2个方面:
1 没把int直接转string,如果转了的话不仅可以直接访问每一位对应的值,还可以直接通过s.size()知道这个数有几位,这些都是int无法做到的。我直接用int写,多写了很多才达到相同效果,包括获取每一位的代码,以及最后转回int的代码,都要比str费事。

2 每次发现一个位置不行的时候,不需要立刻在原处就执行一遍9的替换和当前位置-1,因为前面的位置上还有可能出状况,现在做了替换很有可能是白干。只要用一个参数记录最靠前的出问题的位置,然后这个位置-1,后面全用9替换即可。这样做下来确实思路更清晰更好。

http://www.mmbaike.com/news/90333.html

相关文章:

  • 怎么建造个人网站seoul是什么意思
  • 视频分享网站建设百度广告代运营
  • 江苏省建设厅政务网站怎么做营销推广
  • python做网站部署seo优化的常用手法
  • 怎么做百度seo网站网络营销现状分析
  • 无锡政府门户网站建设的调查报告百度官方网平台
  • 大连做网站的科技公司网站外包
  • 网上卖东西怎么才能卖得好扬州seo
  • 茂名专业网站建设公司自媒体平台哪个收益高
  • 一个域名可以做中英文两个网站吗互联网十大企业
  • 2023年最火的电商平台附子seo教程
  • 哪个网站的前台背景墙做的好真实有效的优化排名
  • 微信小程序开发公司排行榜搜狗网站seo
  • 常州网站开发青岛seo用户体验
  • icp备案查询站长工具简述网站内容如何优化
  • 成都网站推广创新互联百度运营优化师
  • 赣州做网站建设如何优化关键词提升相关度
  • 赤峰酒店网站建设哪家便宜软文免费发布平台
  • 图书网站开发seo网站制作优化
  • 做自己的网站的一般步骤如何在百度发布短视频
  • 昆明网站建设公司推荐视频号推广
  • 网站给部分文字做遮挡代码国际局势最新消息今天
  • 凡科网站建设注册网络安全培训
  • wordpress 模板 日历优化网站链接的方法
  • 厦门易尔通做网站怎么样seo推广外包报价表
  • 网站 目录 结构上海最专业的seo公司
  • wordpress添加分享按钮宁波seo搜索优化费用
  • 江门市专业做网站公司网站关键词优化费用
  • 毕设做网站企业网站建设目标
  • 做画册找什么网站深圳广告投放公司