网站建设合集,外贸流程全步骤流程图,网络热词大全,可以上传视频的网站建设差分数组–前缀和数组的升级
LeetCode 1109 航班预定统计 2024.1.1
题目链接labuladong讲解[链接]
class Solution {
public:vectorint corpFlightBookings(vectorvectorint bookings, int n) {//构建航班人数数组#xff0c;数组大小为n,初…差分数组–前缀和数组的升级
LeetCode 1109 航班预定统计 2024.1.1
题目链接labuladong讲解[链接]
class Solution {
public:vectorint corpFlightBookings(vectorvectorint bookings, int n) {//构建航班人数数组数组大小为n,初始化为0vectorint people(n, 0);//将人数传入差分类中构造差分数组Diff diff(people);//遍历每条预定记录从bookings[i][0]-1与索引差1开始人数增加从bookings[i][1]位置人数减少至原来for(int i 0; i bookings.size(); i){int from bookings[i][0]-1;int to bookings[i][1];int num bookings[i][2];//更新差分数组从bookings[i][0]-1与索引差1开始人数增加从bookings[i][1]位置人数减少至原来diff.increment(from, to, num);}//更新people数组需要初始化people[0]people[0] diff.diffnum[0];for(int i 1; i n; i)people[i] people[i-1]diff.diffnum[i];//返回更新后的数组return people;}class Diff{public:vectorint diffnum;Diff(vectorint people){diffnum vectorint(people.size(), 0);}void increment(int from, int to, int num){diffnum[from] num;if(to diffnum.size())diffnum[to] - num;}};
};花式遍历
LeetCode 151 反转字符串里的单词 2024.1.1
题目链接labuladong讲解[链接]
class Solution {
public:string reverseWords(string s) {//用栈来实现/*stackchar st;string str;for(int i s.size()-1; i 0; i--){if(s[i] st.empty())continue;while(s[i] !st.empty()){str.push_back(st.top());st.pop();}if(s[i] )str.push_back( ); if(s[i] ! )st.push(s[i]);}while(!st.empty()){str.push_back(st.top());st.pop();}if(str[str.size()-1] )str.pop_back();return str;*///先双指针移出不必要的空格再整体反转最后将每个单词反转即可得到答案//移除不必要空格int slow 0;for(int i 0; i s.size(); i){if(slow ! 0 s[i] ! )s[slow] ;while(i s.size() s[i] ! )s[slow] s[i];}s.resize(slow);//整体反转reverse(s.begin(), s.end());//最后将每个单词反转即可得到答案int left 0;for(int i 0; i s.size(); i){if(s[i] ){reverse(s.begin()left, s.begin()i);left i 1;}}reverse(s.begin()left, s.end());return s;}
};