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

小型企业网站开发公司百度代理合作平台

小型企业网站开发公司,百度代理合作平台,怎样在网站做推广,中国建筑网官网监理工程师网站代码随想录算法训练营第35天|860.柠檬水找零,406.根据身高重建队列,452. 用最少数量的箭引爆气球860.柠檬水找零406. 根据身高重建队列452. 用最少数量的箭引爆气球860.柠檬水找零 题目链接:860.柠檬水找零,难度:简单…

代码随想录算法训练营第35天|860.柠檬水找零,406.根据身高重建队列,452. 用最少数量的箭引爆气球

  • 860.柠檬水找零
  • 406. 根据身高重建队列
  • 452. 用最少数量的箭引爆气球

860.柠檬水找零

题目链接:860.柠檬水找零,难度:简单
【实现代码】

class Solution {
public:bool lemonadeChange(vector<int>& bills) {int change[2] = {0};for (int i = 0; i < bills.size(); i++) {if (bills[i] == 5) {change[0]++;} else if (bills[i] == 10) {change[0]--;change[1]++;} else if (bills[i] == 20) {change[0]--;if (change[1] == 0) {change[0] -= 2;} else {change[1]--;}                }// cout << change[0] << "  " << change[1] << endl;if (change[0] < 0 || change[1] < 0) {return false;}}return true;}
};

【解题思路】

需要注意的是,5块和10块是分开计数的,而且当十块不够的时候可以使用5块的。

406. 根据身高重建队列

题目链接:406. 根据身高重建队列,难度:中等
【实现代码】

class Solution {
public:static bool cmp(const vector<int>& people1, const vector<int>& people2) {if (people1[0] == people2[0]) {return people1[1] < people2[1];} else {return people1[0] > people2[0];}}vector<vector<int>> reconstructQueue(vector<vector<int>>& people) {sort(people.begin(), people.end(), cmp);// for (int i = 0; i < people.size(); i++) {//     cout << people[i][0] << " " << people[i][1] << endl;// }list<vector<int>> queue;for (int i = 0; i < people.size(); i++) {int position = people[i][1];list<vector<int>>::iterator it = queue.begin();while (position--) {it++;}queue.insert(it, people[i]);}return vector<vector<int>>(queue.begin(), queue.end());}
};

【解题思路】

首先是对原数组进行排列,按照身高降序和k值升序的顺序排列。
接着是插入到新的数组里,应该按照对应k值进行操作。
因为vector的底层结构是数组,插入和删除操作都是O(n^2),所以使用链表进行存储新的队列。

452. 用最少数量的箭引爆气球

题目链接:452. 用最少数量的箭引爆气球,难度:中等
【实现代码】

class Solution {
public:static bool cmp(vector<int>& point1, vector<int>& point2) {return point1[0] < point2[0];}int findMinArrowShots(vector<vector<int>>& points) {sort(points.begin(), points.end(), cmp);int result = 1;for (int i = 1; i < points.size(); i++) {            if (points[i][0] > points[i - 1][1]) {result++;} else {points[i][1] = min(points[i][1], points[i - 1][1]);}}return result;}
};

【解题思路】

这一题主要是找重叠的坐标范围,首先也是对坐标进行排序,按照第一个x进行升序排列。
之后找重叠的范围,每次要找到相邻两个坐标的最大重叠坐标x;如果下一个的第一个x大于前一个坐标的第二个x,则需要重新射一箭。

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

相关文章:

  • 钓鱼网站下载安装网站tdk优化文档
  • 商城网站建设需求排版的网站
  • 网站开发总结与收获宣化网站建设
  • 网站为什么要服务器北京工程交易信息网
  • 外贸网站源码多语言莱州网站建设包年
  • 北京市网站开发网络营销技巧和营销方法
  • 网站维护中是什么意思现在做网站用什么语言好
  • 为自己家秘方做网站网络规划设计师教程第三版云盘下载
  • 动漫php网站模板缪斯国际设计
  • 赤蚁网站建设企业名称查重
  • wordpress站点字体修改企业咨询合同模板
  • 让别人做网站需要注意什么问题毕业设计答辩网站开发原理
  • 申请域名后怎么建设网站礼县网站建设
  • 网站运营核心佛山seo教程
  • 石家庄招标网官方网站政协网站法治建设
  • 郑州做网站的大公司东方网络律师团队
  • 茂名网站制作价格室内设计公司 网站建设
  • 做网站需要准备资料网站做地区定位跳转
  • 房屋设计网站推荐绍兴seo网站优化
  • 外贸网站建设公司教程做试试彩网站
  • 入侵织梦网站后台集团网页建设
  • perl网站开发东道设计公司官网首页
  • 建设教育协会培训网站上线了小程序
  • 设置网站建设方案电商购物网站开发
  • 广东网站系统建设phpmysql网站开发入门与提高
  • 论坛网站搭建网站双倍浮动
  • 大型网站 中小型网站网站宣传高新技术企业
  • 免费招聘网站排行榜做研学的企业网站
  • 网站外包制作电子商务网站开发常用工具
  • 企业网站建设费用做管理费用吗随州seo优化