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

中小型企业网络拓扑图及配置株洲seo网站推广

中小型企业网络拓扑图及配置,株洲seo网站推广,网站开发需求分析与功能设计,摄影后期教程网站860. 柠檬水找零 题目 在柠檬水摊上#xff0c;每一杯柠檬水的售价为 5 美元。顾客排队购买你的产品#xff0c;#xff08;按账单 bills 支付的顺序#xff09;一次购买一杯。 每位顾客只买一杯柠檬水#xff0c;然后向你付 5 美元、10 美元或 20 美元。你必须给每个顾…860. 柠檬水找零 题目 在柠檬水摊上每一杯柠檬水的售价为 5 美元。顾客排队购买你的产品按账单 bills 支付的顺序一次购买一杯。 每位顾客只买一杯柠檬水然后向你付 5 美元、10 美元或 20 美元。你必须给每个顾客正确找零也就是说净交易是每位顾客向你支付 5 美元。 注意一开始你手头没有任何零钱。 给你一个整数数组 bills 其中 bills[i] 是第 i 位顾客付的账。如果你能给每位顾客正确找零返回 true 否则返回 false 。 示例 1 输入bills [5,5,5,10,20] 输出true 解释 前 3 位顾客那里我们按顺序收取 3 张 5 美元的钞票。 第 4 位顾客那里我们收取一张 10 美元的钞票并返还 5 美元。 第 5 位顾客那里我们找还一张 10 美元的钞票和一张 5 美元的钞票。 由于所有客户都得到了正确的找零所以我们输出 true。 示例 2 输入bills [5,5,10,10,20] 输出false 解释 前 2 位顾客那里我们按顺序收取 2 张 5 美元的钞票。 对于接下来的 2 位顾客我们收取一张 10 美元的钞票然后返还 5 美元。 对于最后一位顾客我们无法退回 15 美元因为我们现在只有两张 10 美元的钞票。 由于不是每位顾客都得到了正确的找零所以答案是 false。 解题思路 只有三种情况一账单是5直接收下二账单是10消耗一个5增加一个10三账单是20优先消耗一个10一个5如果不够再消耗三个5这里就是贪心的思路局部最优是先消耗10再消耗5 代码 class Solution { public:bool lemonadeChange(vectorint bills) {int five 0, ten 0, twenty 0;for (int bill : bills) {// 情况一if (bill 5) five;// 情况二if (bill 10) {if (five 0) return false;ten;five--;}// 情况三if (bill 20) {// 优先消耗10美元因为5美元的找零用处更大能多留着就多留着if (five 0 ten 0) {five--;ten--;twenty; // 其实这行代码可以删了因为记录20已经没有意义了不会用20来找零} else if (five 3) {five - 3;twenty; // 同理这行代码也可以删了} else return false;}}return true;} };406. 根据身高重建队列 题目 假设有打乱顺序的一群人站成一个队列数组 people 表示队列中一些人的属性不一定按顺序。每个 people[i] [hi, ki] 表示第 i 个人的身高为 hi 前面 正好 有 ki 个身高大于或等于 hi 的人。 请你重新构造并返回输入数组 people 所表示的队列。返回的队列应该格式化为数组 queue 其中 queue[j] [hj, kj] 是队列中第 j 个人的属性queue[0] 是排在队列前面的人。 示例 1 输入people [[7,0],[4,4],[7,1],[5,0],[6,1],[5,2]] 输出[[5,0],[7,0],[5,2],[6,1],[4,4],[7,1]] 解释 编号为 0 的人身高为 5 没有身高更高或者相同的人排在他前面。 编号为 1 的人身高为 7 没有身高更高或者相同的人排在他前面。 编号为 2 的人身高为 5 有 2 个身高更高或者相同的人排在他前面即编号为 0 和 1 的人。 编号为 3 的人身高为 6 有 1 个身高更高或者相同的人排在他前面即编号为 1 的人。 编号为 4 的人身高为 4 有 4 个身高更高或者相同的人排在他前面即编号为 0、1、2、3 的人。 编号为 5 的人身高为 7 有 1 个身高更高或者相同的人排在他前面即编号为 1 的人。 因此 [[5,0],[7,0],[5,2],[6,1],[4,4],[7,1]] 是重新构造后的队列。 解题思路 对于双维度的问题先想办法确认一个维度再考虑另一个维度。题目的核心是一直在找前面比自己高的。理解这一点很关键。因为K表示的是排在前面的人比当前的人高的个数所以最优先应该考虑的是按照身高从高到低排序这样就能确认自己前面和自己等高或者比自己高若等高则k小的在前面题意如此然后按照K将每个元素进行插入到对应位置。 排序完的people [[7,0], [7,1], [6,1], [5,0], [5,2][4,4]] 插入的过程 插入[7,0][[7,0]] 插入[7,1][[7,0],[7,1]] 插入[6,1][[7,0],[6,1],[7,1]] 插入[5,0][[5,0],[7,0],[6,1],[7,1]] 插入[5,2][[5,0],[7,0],[5,2],[6,1],[7,1]] 插入[4,4][[5,0],[7,0],[5,2],[6,1],[4,4],[7,1]] 代码 class Solution { public:static bool cmp(const vectorint a, const vectorint b) {if (a[0] b[0]) return a[1] b[1];return a[0] b[0];}vectorvectorint reconstructQueue(vectorvectorint people) {sort (people.begin(), people.end(), cmp);vectorvectorint que;for (int i 0; i people.size(); i) {int position people[i][1];que.insert(que.begin() position, people[i]);}return que;} };452. 用最少数量的箭引爆气球 题目 有一些球形气球贴在一堵用 XY 平面表示的墙面上。墙面上的气球记录在整数数组 points 其中points[i] [xstart, xend] 表示水平直径在 xstart 和 xend之间的气球。你不知道气球的确切 y 坐标。 一支弓箭可以沿着 x 轴从不同点 完全垂直 地射出。在坐标 x 处射出一支箭若有一个气球的直径的开始和结束坐标为 xstartxend 且满足 xstart ≤ x ≤ xend则该气球会被 引爆 。可以射出的弓箭的数量 没有限制 。 弓箭一旦被射出之后可以无限地前进。 给你一个数组 points 返回引爆所有气球所必须射出的 最小 弓箭数 。 示例 1 输入points [[10,16],[2,8],[1,6],[7,12]] 输出2 解释气球可以用2支箭来爆破: -在x 6处射出箭击破气球[2,8]和[1,6]。 -在x 11处发射箭击破气球[10,16]和[7,12]。 解题思路 计算元素的重叠区间即可题目写的太抽象了理解了其实很直观。为了让气球尽可能的重叠需要对数组进行排序。按照气球的起始位置和终止位置排序都可以气球的最小右边界这个主要作用是如果气球2是[2,8]气球3是[3,4]那气球3是在气球2靠中间左边的位置如果这时候以气球2的右边界为射箭的位置那就会错过气球3因此要时刻更新最小右边界这里的代码更新的是气球的最小右边界其实等价于 要射的箭的x坐标。更新完之后又可以以气球的区间来循环判断是否与下一个气球的左边界重叠。 代码 class Solution { private:static bool cmp(const vectorint a, const vectorint b) {return a[0] b[0];} public:int findMinArrowShots(vectorvectorint points) {if (points.size() 0) return 0;sort(points.begin(), points.end(), cmp);int result 1; // points 不为空至少需要一支箭for (int i 1; i points.size(); i) {if (points[i][0] points[i - 1][1]) { // 如果第i个气球的左边界比i-1个气球的右边界大说明两者不相邻就必须要加一个箭result; // 需要一支箭}else { // 气球i和气球i-1挨着这里需要注意的是我们要找到气球的最小的右边界points[i][1] min(points[i - 1][1], points[i][1]); // 更新重叠气球最小右边界}}return result;} };
http://www.pierceye.com/news/350393/

相关文章:

  • 佛山网站建设小程序注册营业执照申请
  • 网站建设文案策划鞍山兼职吧
  • 手机投资网站合肥seo优化排名公司
  • 上海网站制作公司的排名药品网站如何建设
  • 模板网站建设包括哪些wordpress怎么加关键词和描述
  • 温岭专业自适应网站建设响应式网站 模版
  • 高端包装设计优化 英语
  • 佛山新网站建设方案笔记本做网站服务器
  • c 企业网站开发杭州百度人工优化
  • 瑞安公司网站建设wordpress 主题和插件下载失败
  • 茶楼网站模板wordpress后台图
  • 做网站的流程方法wordpress 导航栏 排序
  • 当当网书店网站建设案例照片制作相册
  • 手机网站空间wordpress改微博系统
  • 东莞阿里网站设计泰安网站营销推广
  • 网站可以换域名吗北京建站公司兴田德润很好
  • 烟台做网站建设大宗商品交易平台是什么
  • 网站安全建设目标昆明网站制作企业
  • 个人网站更换域名企业网站建设套餐价格
  • 什么网站做海宁的房产好自己做软件 做网站需要学会哪些
  • 品牌网站建设浩森宇特软件工程师年薪多少
  • 做网站没有数据库ppt模板制作免费
  • 网站建设代码合同重庆住房和城乡建设部网站的打印准考证
  • 天气网站建设wordpress yasaer
  • 无忧网络网站建设响应式网页设计技术有哪些
  • 非常好的网站建设公司上海如何批量建站
  • 珠海市官网网站建设品牌深圳创业补贴去哪里申请
  • 建立传媒公司网站wordpress 农场主题
  • 如何用ps做网站导航条劳保用品 技术支持 东莞网站建设
  • 网站数据库迁移背景图网站