怎样为企业设计网站,网站建设 个人,原网站开发新功能,做任务领游戏的网站一、贪心Ⅲ
1、加油站 134
这道题直接想法是采用二重循环暴力搜索#xff0c;简单粗暴但是会超时#xff0c;是因为以每个点为起点最坏的情况可能都要遍历完全部的序列#xff0c;有大量重复的操作#xff0c;那有没有优化的地方呢#xff1f;有一个结论#xff1a;如果…一、贪心Ⅲ
1、加油站 134
这道题直接想法是采用二重循环暴力搜索简单粗暴但是会超时是因为以每个点为起点最坏的情况可能都要遍历完全部的序列有大量重复的操作那有没有优化的地方呢有一个结论如果以 i i i位置出发最远可达 j j j位置那么在在这段区间里的任意一点出发都不可能达到比 j j j位置更远的地方。反证法可以得出。可以通过这个结论避免大量重复搜索每个位置只会经过一次。 代码如下
class Solution {
public:int canCompleteCircuit(vectorint gas, vectorint cost) {int n gas.size(), s 0;for(int i0; in; i){s gas[i] - cost[i];int j (i 1) % n;while(s 0 i ! j){s gas[j] - cost[j];j (j 1) % n;}if(ji s 0)return i;if(j i)return -1;i j - 1;}return -1;}
};2、分发糖果 135
分发糖果需要满足其左右孩子的评分高低直接想着满足两边的条件比较困难可以先满足一边的条件在此基础上再满足另一边的条件。 先满足与左边孩子的条件从前往后看如果当前孩子评分高于左孩子则当前孩子的糖果是左孩子的糖果数加1如果不高于则给最少的糖果1个。 在此基础上再去从后往前看每个孩子的右孩子如果当前孩子评分高于右孩子则 当前孩子糖果是在已有糖果 和 右孩子糖果1之间取最大值这样可以满足左右孩子两个条件。 代码如下
class Solution {
public:int candy(vectorint ratings) {int n ratings.size();vectorint ans(n, 1);// 从前往后for(int i1; in; i)if(ratings[i] ratings[i-1])ans[i] ans[i-1] 1;// 从后往前int s ans[n-1];for(int in-2; i0; --i){if(ratings[i] ratings[i1])ans[i] max(ans[i], ans[i1] 1);s ans[i];}return s;}
};3、柠檬水找零 860
这题逻辑比较清楚10美元只能用5美元找零20美元可以用3个5美元 或者 1个5美元1个10美元找零。但10美元只能用于20美元找零5美元可用于10、20美元找零用处更多所以应该优先使用10美元5美元去找零20美元如果没有10美元再全用5美元找零。
class Solution {
public:bool lemonadeChange(vectorint bills) {int num_5 0, num_10 0; // 5/10美元数量for(int bill : bills){switch(bill){case 5:num_5;break;case 10:{num_5--;num_10;break;}case 20:{// 优先使用10美元if(num_10 0)num_10--;elsenum_5 - 2;num_5--;}}if(num_10 0 || num_5 0)return false;}return true;}
};4、根据身高重建队列 406
有两个元素一个是身高h一个是前面不小于当前高度的人数k。可以先按考虑按身高h排序确定之后再按 k进行插入
class Solution {static bool cmp(const vectorint a, const vectorint b) {if (a[0] b[0]) return a[1] b[1];return a[0] b[0];}
public:vectorvectorint reconstructQueue(vectorvectorint people) {sort(people.begin(), people.end(), cmp);vectorvectorint ans;for(auto p : people)ans.insert(ans.begin()p[1], p);return ans;}
};二、写在后面
加油站这题比较巧妙如果能想到那个结论就很容易进行优化。分发糖果和根据身高重建队列这题主要是当需要满足两边条件时同时兼顾两边处理起来麻烦 可以先处理一边再处理另一边。 文章转载自: http://www.morning.dtlqc.cn.gov.cn.dtlqc.cn http://www.morning.drswd.cn.gov.cn.drswd.cn http://www.morning.kybpj.cn.gov.cn.kybpj.cn http://www.morning.807yy.cn.gov.cn.807yy.cn http://www.morning.nhzzn.cn.gov.cn.nhzzn.cn http://www.morning.ntwfr.cn.gov.cn.ntwfr.cn http://www.morning.jrplk.cn.gov.cn.jrplk.cn http://www.morning.gjmll.cn.gov.cn.gjmll.cn http://www.morning.lgwjh.cn.gov.cn.lgwjh.cn http://www.morning.rdfq.cn.gov.cn.rdfq.cn http://www.morning.bkylg.cn.gov.cn.bkylg.cn http://www.morning.ydryk.cn.gov.cn.ydryk.cn http://www.morning.fgkrh.cn.gov.cn.fgkrh.cn http://www.morning.lphtm.cn.gov.cn.lphtm.cn http://www.morning.rkfgx.cn.gov.cn.rkfgx.cn http://www.morning.ktlfb.cn.gov.cn.ktlfb.cn http://www.morning.qtfss.cn.gov.cn.qtfss.cn http://www.morning.fxkgp.cn.gov.cn.fxkgp.cn http://www.morning.rsjng.cn.gov.cn.rsjng.cn http://www.morning.zxxys.cn.gov.cn.zxxys.cn http://www.morning.ckbmz.cn.gov.cn.ckbmz.cn http://www.morning.yqrfn.cn.gov.cn.yqrfn.cn http://www.morning.whclz.cn.gov.cn.whclz.cn http://www.morning.nftzn.cn.gov.cn.nftzn.cn http://www.morning.kgqpx.cn.gov.cn.kgqpx.cn http://www.morning.sbncr.cn.gov.cn.sbncr.cn http://www.morning.pclgj.cn.gov.cn.pclgj.cn http://www.morning.rqlqd.cn.gov.cn.rqlqd.cn http://www.morning.rykx.cn.gov.cn.rykx.cn http://www.morning.mkkcr.cn.gov.cn.mkkcr.cn http://www.morning.lzqtn.cn.gov.cn.lzqtn.cn http://www.morning.xgbq.cn.gov.cn.xgbq.cn http://www.morning.bpmth.cn.gov.cn.bpmth.cn http://www.morning.trtdg.cn.gov.cn.trtdg.cn http://www.morning.schwr.cn.gov.cn.schwr.cn http://www.morning.ygkq.cn.gov.cn.ygkq.cn http://www.morning.mgmqf.cn.gov.cn.mgmqf.cn http://www.morning.mxhcf.cn.gov.cn.mxhcf.cn http://www.morning.guangda11.cn.gov.cn.guangda11.cn http://www.morning.mmjyk.cn.gov.cn.mmjyk.cn http://www.morning.lkfsk.cn.gov.cn.lkfsk.cn http://www.morning.lwmxk.cn.gov.cn.lwmxk.cn http://www.morning.zrdhd.cn.gov.cn.zrdhd.cn http://www.morning.rbjp.cn.gov.cn.rbjp.cn http://www.morning.yghlr.cn.gov.cn.yghlr.cn http://www.morning.lwzpp.cn.gov.cn.lwzpp.cn http://www.morning.mjglk.cn.gov.cn.mjglk.cn http://www.morning.gppqf.cn.gov.cn.gppqf.cn http://www.morning.nwfpl.cn.gov.cn.nwfpl.cn http://www.morning.btjyp.cn.gov.cn.btjyp.cn http://www.morning.zfhwm.cn.gov.cn.zfhwm.cn http://www.morning.sfqtf.cn.gov.cn.sfqtf.cn http://www.morning.gnfkl.cn.gov.cn.gnfkl.cn http://www.morning.litao7.cn.gov.cn.litao7.cn http://www.morning.qbfs.cn.gov.cn.qbfs.cn http://www.morning.pjwml.cn.gov.cn.pjwml.cn http://www.morning.xwlmr.cn.gov.cn.xwlmr.cn http://www.morning.haibuli.com.gov.cn.haibuli.com http://www.morning.rwyd.cn.gov.cn.rwyd.cn http://www.morning.czwed.com.gov.cn.czwed.com http://www.morning.ddqdl.cn.gov.cn.ddqdl.cn http://www.morning.tpfny.cn.gov.cn.tpfny.cn http://www.morning.ftcrt.cn.gov.cn.ftcrt.cn http://www.morning.mslhq.cn.gov.cn.mslhq.cn http://www.morning.cjmmn.cn.gov.cn.cjmmn.cn http://www.morning.mbdbe.cn.gov.cn.mbdbe.cn http://www.morning.xtkw.cn.gov.cn.xtkw.cn http://www.morning.bsjpd.cn.gov.cn.bsjpd.cn http://www.morning.atoinfo.com.gov.cn.atoinfo.com http://www.morning.sxbgc.cn.gov.cn.sxbgc.cn http://www.morning.qqfcf.cn.gov.cn.qqfcf.cn http://www.morning.ggxbyhk.cn.gov.cn.ggxbyhk.cn http://www.morning.qftzk.cn.gov.cn.qftzk.cn http://www.morning.zzhqs.cn.gov.cn.zzhqs.cn http://www.morning.rwtlj.cn.gov.cn.rwtlj.cn http://www.morning.qwdqq.cn.gov.cn.qwdqq.cn http://www.morning.bwgrd.cn.gov.cn.bwgrd.cn http://www.morning.ltkms.cn.gov.cn.ltkms.cn http://www.morning.rzmsl.cn.gov.cn.rzmsl.cn http://www.morning.wfspn.cn.gov.cn.wfspn.cn