网站开发维护合同,超市设计网站,中国设计网室内,万网人网站备案流程思路#xff1a; 这道题有很多种解法#xff0c;刚好最近在学差分#xff0c;就用差分做吧。首先是初始没有乘客#xff0c;差分diff数组各项为0#xff0c;不用求差构造差分数组了。接着是每一次乘车方案#xff0c;起点站需要加上乘客数#xff0c;终点站需要减去乘客…思路 这道题有很多种解法刚好最近在学差分就用差分做吧。首先是初始没有乘客差分diff数组各项为0不用求差构造差分数组了。接着是每一次乘车方案起点站需要加上乘客数终点站需要减去乘客数。注意乘车区间是前闭后开的因为终点站乘客下车了以后还可以继续拉客。这里坑了我一会儿
参考代码
class Solution {
public:bool carPooling(vectorvectorint trips, int capacity) {int diff[1005] {0};int n trips.size();int num, first, last;for(int i 0; i n; i){num trips[i][0];first trips[i][1];last trips[i][2];diff[first] num;diff[last] - num;}for(int i 1; i 1005; i)diff[i] diff[i-1];for(int i 0; i 1005; i)if(diff[i] capacity)return false;return true;}
};