当前位置: 首页 > news >正文

labuladong日常刷题-差分数组 | LeetCode 1109航班预定统计 | 花式遍历 151反转字符串里的单词

差分数组–前缀和数组的升级

LeetCode 1109 航班预定统计 2024.1.1

  • 题目链接
  • labuladong讲解[链接]
    在这里插入图片描述
class Solution {
public:vector<int> corpFlightBookings(vector<vector<int>>& bookings, int n) {//构建航班人数数组,数组大小为n,初始化为0vector<int> 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:vector<int> diffnum;Diff(vector<int> people){diffnum = vector<int>(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) {//用栈来实现/*stack<char> 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;}
};

http://www.lryc.cn/news/273883.html

相关文章:

  • HbuilderX中的git的使用
  • LeetCode每日一题 | 1944. 队列中可以看到的人数
  • React16源码: JSX2JS及React.createElement源码实现
  • 整理composer安装版本的python脚本
  • 十、基本对话框大集合(Qt5 GUI系列)
  • 大A又跌了
  • This error originates from a subprocess, and is likely not a problem with pip
  • 数据库基础知识1
  • 【GO语言卵细胞级别教程】01.GO基础知识
  • 215.【2023年华为OD机试真题(C卷)】按身高和体重排排队(排序题-JavaPythonC++JS实现)
  • 虚函数(C++)
  • 力扣25题: K 个一组翻转链表
  • 网络安全应急响应工具之-流量安全取证NetworkMiner
  • http 401 错误
  • Docker-Compose部署Redis(v7.2)哨兵模式
  • 解决问题:PPT中插入视频编辑模式可以播放,幻灯片放映后播放不了
  • 使用react+vite开发项目时候,部署上线后刷新页面无法访问解决办法
  • 45. 跳跃游戏 II(Java)
  • [足式机器人]Part4 南科大高等机器人控制课 CH12 Robotic Motion Control
  • 【C++】知识点汇总(上)
  • 解决docker容器内无法连接宿主redis
  • 43 tmpfs/devtmpfs 文件系统
  • C语言编译器(C语言编程软件)完全攻略(第十二部分:VS2010下载地址和安装教程(图解))
  • 【VRTK】【VR开发】【Unity】18-VRTK与Unity UI控制的融合使用
  • BERT(从理论到实践): Bidirectional Encoder Representations from Transformers【3】
  • 静态网页设计——校园官网(HTML+CSS+JavaScript)
  • phpstudy_pro 关于多版本php的问题
  • TemporalKit的纯手动安装
  • 人生重开模拟器
  • 优化算法3D可视化