刷代码随想录有感(24)

有时候我会怀疑努力的意义,因为我总是花人家好几倍的时间去理解一个狗看了都觉得弱智的问题,思考过后我知道,努力本没有意义,是在未来可能十年内取得成就时突然回想起来之前做过一些事情,未来的成就赋予曾经的意义,所以望不到尽头时最使人绝望。在我接受自己就是个普通人的事实后便豁然开朗,要求开始降低,我开始以做出基础题为自己骄傲,不为理解不了中等题或难题困扰,理解不了就死记硬背呗,如果未来有一道笔试题能套用这道题的模板就有幸了。清楚地认识自己后方向反而明确,我知道做哪些事情会让我进步,或许认识到自己的平凡才是迈向成熟的标志吧 ,于苦痛中爬行,不断向前,做一个罗曼罗兰口中的,认清现实的英雄,一个悲剧的、认清现实的、不屈不挠的“人”。话说的有点多,先看题干吧:

代码;

class Solution {
public:void reverse(string &s, int start, int end){for(int i = start, j = end; i < j; i++, j--) swap(s[i], s[j]);}void removeExtraSpaces(string &s){int slow = 0;for(int fast = 0; fast < s.size(); fast++){if(s[fast] != ' '){if(slow != 0) s[slow++] = ' ';while(fast < s.size() && s[fast] != ' ') s[slow++] = s[fast++];}}s.resize(slow);}string reverseWords(string s) {reverse(s, 0, s.size() - 1);removeExtraSpaces(s);int start = 0;for(int i = 0; i <= s.size(); i++){if(i == s.size() || s[i] == ' '){reverse(s, start, i - 1);start = i + 1;}}return s;}
};

我知道解题思路是什么,但我始终理解不了这几行;

void removeExtraSpaces(string &s){//int slow = 0;//for(int fast = 0; fast < s.size(); fast++){//if(s[fast] != ' '){if(slow != 0) s[slow++] = ' ';while(fast < s.size() && s[fast] != ' ') s[slow++] = s[fast++];}}s.resize(slow);

我实在想象不出来指针是怎么边移动边加空格的,我能理解双指针删除元素,但是这三行我着实理解不了,慢慢来吧。

还有这个:

string reverseWords(string s) {//reverse(s, 0, s.size() - 1);//removeExtraSpaces(s);//int start = 0;for(int i = 0; i <= s.size(); i++){if(i == s.size() || s[i] == ' '){//reverse(s, start, i - 1);start = i + 1;}}//return s;}

先记着,等学到后面再来看看吧。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/599038.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

pdf、docx、markdown、txt提取文档内容,可以应用于rag文档解析

返回的是文档解析分段内容组成的列表&#xff0c;分段内容默认chunk_size: int 250, chunk_overlap: int 50&#xff0c;250字分段&#xff0c;50分段处保留后面一段的前50字拼接即窗口包含下下一段前面50个字划分 from typing import Union, Listimport jieba import recla…

SpringBoot3整合RabbitMQ之三_工作队列模型案例

SpringBoot3整合RabbitMQ之三_工作队列模型案例 文章目录 SpringBoot3整合RabbitMQ之三_工作队列模型案例2. 工作队列模型1. 消息发布者1. 创建工作队列的配置类2. 发布消费Controller 2. 消息消费者One3. 消息消费者Two4. 消息消费者Three5. 输出结果 2. 工作队列模型 1. 消息…

绘图工具 draw.io / diagrams.net 免费在线图表编辑器

拓展阅读 常见免费开源绘图工具 OmniGraffle 创建精确、美观图形的工具 UML-架构图入门介绍 starUML UML 绘制工具 starUML 入门介绍 PlantUML 是绘制 uml 的一个开源项目 UML 等常见图绘制工具 绘图工具 draw.io / diagrams.net 免费在线图表编辑器 绘图工具 excalidr…

四大生成式模型的比较——GAN、VAE、归一化流和扩散模型

比较四大模型的本质 four modern deep generative models: generative adversarial networks, variational autoencoders, normalizing flows, and diffusion models 待写

FPGA实现CLAHE算法(Verilog)

在介绍CLAHE算法之前必须要先提一下直方图均衡化&#xff0c;直方图均衡化算法是一种常见的图像增强算法&#xff0c;可以让像素的亮度分配的更加均匀从而获得一个比较好的观察效果。 左边是原图&#xff0c;右边是经过直方图均衡化后图&#xff0c;可以看到肋骨什么的可以更…

网络规划(homework 静态路由 and Rip路由表更新)

1、写出下图路由器1和路由器3中的路由表&#xff08;按直接交付、特定主机交付、特定网络交付、 默认交付的顺序放置路由项&#xff09; 2、写出Ri更新后的路由表&#xff08;rip路由协议&#xff09; 1、将Rj广播的路由消息全部1 2、直接对照着更新Ri中的路由表

《MATLAB科研绘图与学术图表绘制从入门到精通》

解锁MATLAB科研绘图魅力&#xff0c;让数据可视化成为你的科研利器&#xff01; 1.零基础快速入门&#xff1a;软件操作实战案例图文、代码结合讲解&#xff0c;从入门到精通快速高效。 2.多种科研绘图方法&#xff1a;科研绘图基础变量图形极坐标图形3D图形地理信息可视化等&a…

python开发poc2

#本课知识点和目的&#xff1a; ---协议模块使用&#xff0c;Request 爬虫技术&#xff0c;简易多线程技术&#xff0c;编码技术&#xff0c;Bypass 后门技术 下载ftp服务器模拟器 https://lcba.lanzouy.com/iAMePxl378h 随便创建一个账户&#xff0c;然后登录进去把ip改成…

14届蓝桥杯 C/C++ B组 T6 岛屿个数 (BFS,FloodFill,填色)

首先拿到这道题不要想着去直接判断环里面的岛屿&#xff0c;这样太困难了&#xff0c;我们可以使用之前做过的题的经验&#xff0c;在输入加入一圈海水&#xff0c;然后从(0,0)点开始BFS&#xff0c;这里进行八向搜索&#xff0c;搜到的0全部都染色成2&#xff0c;假如2能够蔓延…

景区云旅游/视频慢直播方案设计与平台搭建

一、行业背景 经文化和旅游部数据中心测算&#xff0c;今年清明节假期3天全国国内旅游出游1.19亿人次&#xff0c;按可比口径较2019年同期增长11.5%&#xff1b;国内游客出游花费539.5亿元&#xff0c;较2019年同期增长12.7%。踏青赏花和户外徒步成为假期的热门出游主题。随着…

Autodesk AutoCAD 2025 (macOS, Windows) - 自动计算机辅助设计软件

Autodesk AutoCAD 2025 (macOS, Windows) - 自动计算机辅助设计软件 AutoCAD 2024 开始原生支持 Apple Silicon&#xff0c;性能提升至 2 倍 请访问原文链接&#xff1a;https://sysin.org/blog/autodesk-autocad/&#xff0c;查看最新版。原创作品&#xff0c;转载请保留出处…

阿里云乱扣费故障,技术堪忧

2024年4月3日&#xff0c;距离2023年11月的故障没有多久&#xff0c;阿里云又出现乱扣费故障&#xff0c;导致账号欠费3000多&#xff0c;oss&#xff0c;块存储&#xff0c;cdn等所有后付费服务停止工作&#xff0c;不知道这个故障能算什么级别的。 凌晨1点多&#xff0c;收到…