刷代码随想录有感(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.mzph.cn/news/798765.shtml

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

相关文章

说说虚拟化上部署Oracle RAC的那点注意事项

0.概述 目前在虚拟化上部署RAC主要是以下3个场景 1是VMWARE的虚拟化&#xff08;私有云&#xff09;&#xff1b; 2是国产厂商基于KVM的虚拟化&#xff08;私有云&#xff09;&#xff1b; 3是公有云&#xff0c;由云厂商给你提供虚拟主机和虚拟磁盘。 这里我只对前2个熟悉一些…

【微服务】面试题(一)

最近进行了一些面试&#xff0c;这几个问题分享给大家 一、分别介绍一下微服务、分布式以及两者的区别 微服务&#xff08;Microservices&#xff09;和分布式系统&#xff08;Distributed Systems&#xff09;是两种不同的软件架构风格&#xff0c;虽然它们之间有些重叠&#…

SpriingBoot整合MongoDB多数据源

背景&#xff1a; MongoDB多数据源&#xff1a;springboot为3以上版本&#xff0c;spring-boot-starter-data-mongodb低版本MongoDBFactory已过时&#xff0c; 改为MongoDatabaseFactory。 1、pom引入&#xff1a; <dependency><groupId>org.springframework.boo…

汇编基础----mov基本操作

汇编基础----mov基本操作 下载VS2022 这个网上教程很多,自行下载安装即可 新建项目 选择空项目,如何点击下一步 在源文件下创建这二个文件 修改配置使asm文件能被解析,右击项目名(demo)->生成依赖项->生成自定义->勾选如下图所示选项->确定 立即数寻址 main…

2849: 【广度优先】【优先队列】游戏装备

题目描述 小未在玩一款武侠游戏&#xff0c;游戏里PK不仅要有高超的操作和智慧&#xff0c;还要有很牛的装备。现在他进入了一个副本&#xff0c;副本里面有极品15星的装备宝箱&#xff0c;但是从副本入口到宝箱有很多条路&#xff0c;当然不可能轻轻松松的拿到极品装备。一路…

Azure AI 新发布了 9 种更逼真的对话 AI 声音

Azure AI 新发布了 9 种更逼真的对话 AI 声音 0. 引言1. 更逼真的声音示例 0. 引言 Microsoft 一直在寻找使用 AI 提高创造力、生产力和技能的新方法。随着高质量、类人 AI 语音的出现&#xff0c;行业和应用程序正在发生转变&#xff0c;使与设备和服务交互变得更加容易和自然…

qt环境搭建-镜像源安装Qt Creator(5.15.2)以及配置环境变量

前言&#xff1a; 版本&#xff1a;5.15.2 镜像源&#xff1a;ustc与清华 纯小白&#xff0c;找了半天的镜像源安装qtcreator&#xff0c;搞了半天结果安装的是最新的&#xff0c;太新的对小白很不友好&#xff0c;bug比较多&#xff0c;支持的系统也不全&#xff0c;口碑不…

【SCI绘图】【小提琴系列1 python】绘制按分类变量分组的垂直小提琴图

SCI&#xff0c;CCF&#xff0c;EI及核心期刊绘图宝典&#xff0c;爆款持续更新&#xff0c;助力科研&#xff01; 本期分享&#xff1a; 【SCI绘图】【小提琴系列1 python】绘制按分类变量分组的垂直小提琴图&#xff0c;文末附完整代码 小提琴图是一种常用的数据可视化工具…

鸿蒙原生应用已超4000个!

鸿蒙原生应用已超4000个&#xff01; 来自 HarmonyOS 微博近期消息&#xff0c;#鸿蒙千帆起# 重大里程碑&#xff01;目前已有超4000个应用加入鸿蒙生态。从今年1月18日华为宣布首批200多家应用厂商正在加速开发鸿蒙原生应用&#xff0c;到3月底超4000个应用&#xff0c;短短…

约跑小程序源码(asp.net+vue+element++uniapp+sqlserver)

开发语言&#xff1a;c# 框架&#xff1a;后端 asp.net mvc pc管理页面&#xff1a;vueelement 数据库&#xff1a;sqlserver 开发软件&#xff1a;eclipse/myeclipse/idea 浏览器&#xff1a;谷歌浏览器 小程序框架&#xff1a;uniapp 小程序开发软件&#xff1a;HBuilder X …

PyCharm关闭项目后等待时间长

每次关闭项目或PyCharm时&#xff0c;会显示正在关闭项目&#xff0c;而这个关闭时间很长且不可确定&#xff0c;很浪费我们的时间&#xff0c;不过愿意等的话&#xff0c;倒也是可以。 解决方法 Help -> Find Action -> 查找 Registry -> 禁用 ide.await.scope.comp…

ChatGPT基础(一) GPT的前世今生

文章目录 GPT模型简史GPT系列模型ChatGPT的应用 最近ChatGPT3.5可以免注册使用了&#xff0c;出来刨一波坟 说一说ChatGPT的来源和应用。 GPT模型简史 Generative pre-trained transformers(GPT)生成式预训练转换模型是大语言模型的一种(Large Language Model–>LLM)。它是…

@SpringBootApplication 详解

SpringBootApplication 详解 SpringBootApplication标识在Spring工程的引导启动类上&#xff0c;是Spring最最最重要的注解&#xff0c;封装了如下注解&#xff1a; SpringBootConfiguration&#xff1a;底层封装了Configuration&#xff0c;用于声明当前类也是一个配置类。E…

PPT在线压缩工具推荐

有时候使用邮箱发送邮件时&#xff0c;添加的PPT、Word、PDF文档总会因为过大而转为其他类型的附件发送&#xff0c;不仅上传缓慢&#xff0c;对方查收下载时还有有效期限制&#xff0c;7天或15天后就过期再也无法下载了&#xff0c;有没有什么办法可以压缩PPT等文档&#xff0…

【QT+QGIS跨平台编译】076:【libdxfrw跨平台编译】(一套代码、一套框架,跨平台编译)

点击查看专栏目录 文章目录 一、libdxfrw介绍二、QGIS下载三、文件分析四、pro文件五、编译实践一、libdxfrw介绍 libdxfrw是一个用于读取和写入DXF(Drawing Exchange Format)文件的开源C++库。DXF是一种由AutoCAD开发的文件格式,用于存储CAD(计算机辅助设计)图形数据,它…

【大数据】安装hive-3.1.2

1、上传HIVE包到/opt/software目录并解压到/opt/modules/ tar -zxvf apache-hive-3.1.2-bin.tar.gz -C /opt/modules/ 2、修改路径 mv /opt/modules/apache-hive-3.1.2-bin/ /opt/modules/hive 3、将hIVE下的bin目录加入到/etc/profile中 export HIVE_HOME/opt/module…

3d怎么在一块模型上开个孔---模大狮模型网

在进行3D建模时&#xff0c;有时候需要在模型上创建孔&#xff0c;以实现特定的设计需求或功能。无论是为了添加细节&#xff0c;还是为了实现功能性的要求&#xff0c;创建孔都是常见的操作之一。本文将介绍在3D模型上创建孔的几种常用方法&#xff0c;帮助您轻松实现这一目标…

pytorch 演示 tensor并行

pytorch 演示 tensor并行 一.原理二.实现代码 本文演示了tensor并行的原理。如何将二个mlp切分到多张GPU上分别计算自己的分块,最后做一次reduce。 1.为了避免中间数据产生集合通信,A矩阵只能列切分,只计算全部batch*seqlen的部分feature 2.因为上面的步骤每张GPU只有部分featu…

使用dotnet-dump 查找 .net core 3.0 占用CPU 100%的原因解析

这篇文章介绍了3个工具 •dotnet-counters: 实时统计runtime的状况, 包括 CPU、内存、GC、异常等 •dotnet-trace: 类似性能探测器 •dotnet-dump: 程序崩溃时使用该工具 这次使用的是dotnet-dump, 即使程序没有崩溃, 也可以dump程序快照, 用于分析 实验环境 ubuntu-16.04.5-…

「PHP系列」PHP 循环详解

文章目录 一、while - 只要指定的条件成立&#xff0c;则循环执行代码块二、do...while - 首先执行一次代码块&#xff0c;然后在指定的条件成立时重复这个循环三、for - 循环执行代码块指定的次数四、foreach - 根据数组中每个元素来循环代码块五、相关链接 一、while - 只要指…