算法面试——贪心算法:跳跃游戏、分发饼干、加油站
贪心算法是每一步都选局部最优解期望得到全局最优。不一定对所有问题有效但对这几类经典题有效。一、跳跃游戏publicbooleancanJump(int[]nums){intmaxReach0;for(inti0;inums.length;i){if(imaxReach)returnfalse;maxReachMath.max(maxReach,inums[i]);if(maxReachnums.length-1)returntrue;}returntrue;}二、分发饼干publicintfindContentChildren(int[]g,int[]s){Arrays.sort(g);Arrays.sort(s);intchild0,cookie0;while(childg.lengthcookies.length){if(s[cookie]g[child]){child;}cookie;}returnchild;}三、加油站publicintcanCompleteCircuit(int[]gas,int[]cost){inttotal0,current0,start0;for(inti0;igas.length;i){totalgas[i]-cost[i];currentgas[i]-cost[i];if(current0){starti1;current0;}}returntotal0?start:-1;} 觉得有用的话点赞 关注【张老师技术栈】吧