ip反查工具网站,中国作文网,怎么做电子商务的网站推广,宁波建设网查询134. 加油站
参考
思路:
以每个油站相差作为判断, 比如: gas [5 8 2 8]cost [6 5 6 6] [-1 3 -4 2]错误 : 把相差最大点当作起点判断能否绕一圈 : 相加数组是否小于0局部最优: 当前累加rest[i]的和curSum一旦小于0#xff0c;起始位置至少要是i1#xff0c;因为从i…134. 加油站
参考
思路:
以每个油站相差作为判断, 比如: gas [5 8 2 8]cost [6 5 6 6] [-1 3 -4 2]错误 : 把相差最大点当作起点判断能否绕一圈 : 相加数组是否小于0局部最优: 当前累加rest[i]的和curSum一旦小于0起始位置至少要是i1因为从i之前开始一定不行全局最优: 找到可以跑一圈的起始位置
class Solution {
public:int canCompleteCircuit(vectorint gas, vectorint cost) {vectorint diff(gas.size(), 0);int sum 0;for (int i 0; i gas.size(); i) {diff[i] gas[i] - cost[i];sum diff[i];}if (sum 0) return -1;sum 0;int pos 0;for (int i 0; i diff.size(); i) {sum diff[i];if (sum 0) {sum 0;pos i 1;}}return pos;}
};暴力解法 135. 分发糖果
情况1: 右边小孩比左边大 ratings[i - 1] ratings[i], 则 candy[i] candy[i - 1] 1 情况2: 左边小孩比右边大 860.柠檬水找零 思路: 分清楚三种情况
5 , 直接收下10, 找零 520, 找零 3个5 或105
20时要分情况, 但优先使用105来找零
class Solution {
public:bool lemonadeChange(vectorint bills) {vectorint count(3, 0); // 5 10 20 的数量for (int i 0; i bills.size(); i) {if (bills[i] 5)count[0];if (bills[i] 10) {count[1];count[0]--;}if (bills[i] 20) {count[2];if (count[1] 0) {count[1]--;count[0]--;} else {count[0] - 3;}}if (count[0] 0)return false;}return true;}
};406. 根据身高重建队列 涉及两个维度的操作, 需要分开解决