刷代码随想录有感(24)

news2025/1/22 17:53:16

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

代码;

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.coloradmin.cn/o/1576356.html

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

相关文章

SiteSpace 使用方法笔记

目录 介绍下载及安装准备工作知网 CNKI 文献分析数据准备数据转换新建项目图形处理 介绍 CiteSpace 是一个用于可视化和分析科学文献的工具。它可以从科学文献库中提取关键词、作者、机构和引用关系等信息&#xff0c;并将其可视化为图形网络。 一些使用案例 下载及安装 下载…

【运输层】传输控制协议 TCP

目录 1、传输控制协议 TCP 概述 &#xff08;1&#xff09;TCP 的特点 &#xff08;2&#xff09;TCP 连接中的套接字概念 2、可靠传输的工作原理 &#xff08;1&#xff09;停止等待协议 &#xff08;2&#xff09;连续ARQ协议 3、TCP 报文段的首部格式 &#xff08;1…

AcWing---公约数---最大公约数

4199. 公约数 - AcWing题库 思路&#xff1a; 最大整数x一定是最大公约数的因数&#xff0c;所以先用__gcd(a,b)求出a和b的最大公因数&#xff0c;再用O(log(n))的算法求出最大公因数的因数&#xff0c;放到vector中&#xff0c;并将vector排序。利用STL中的upper_bound(res.…

【功能更新】强化知识库管理与AI问答机器人性能

三月HelpLook带来了3大类功能焕新&#xff0c;主要聚焦于&#xff1a;知识库的管理功能升级和AI问答机器人的优化&#xff0c;让我们看看更新了哪些新功能&#xff01; 那么&#xff0c;接下来就让我们来详细了解一下本次升级都带来了哪些新功能吧&#xff01; 知识库使用与管理…

阿里面试总结

ThreadLocal 线程变量存放在当前线程变量中&#xff0c;线程上下文中&#xff0c;set将变量添加到threadLocals变量中 Thread类中定义了两个ThreadLocalMap类型变量threadLocals、inheritableThreadLocals用来存储当前操作的ThreadLocal的引用及变量对象&#xff0c;把当前线程…

java毕业设计基于SpringBoot + Vue 的超市商超进销存收银系统

技术栈 ide工具&#xff1a;IDEA 或者eclipse 编程语言: java 数据库: mysql5.7 框架&#xff1a; ssm/springboot 前端&#xff1a;vue.jsElementUI 详细技术&#xff1a;springboot vueMYSQLMAVEN 数据库工具&#xff1a;Navicat/SQLyog都可以 开发工具 IntelliJ IDEA: 一先…

k8s资源监控_bitnami metrics-server v0(1),2024一位Linux运维中级程序员的跳槽面经

错误3 也有可能会遇到以下错误&#xff0c;按照下面提示解决 Error from server (ServiceUnavailable): the server is currently unable to handle the request (get nodes.metrics.k8s.io) 如果metrics-server正常启动&#xff0c;没有错误&#xff0c;应该就是网络问题。修改…

使用pytorch构建有监督的条件GAN(conditional GAN)网络模型

本文为此系列的第四篇conditional GAN&#xff0c;上一篇为WGAN-GP。文中在无监督的基础上重点讲解作为有监督对比无监督的差异&#xff0c;若有不懂的无监督知识点可以看本系列第一篇。 原理 有条件与无条件 如图投进硬币随机得到一个乒乓球的例子可以看成是一个无监督的GAN&…

如何优化ETL开发,以实现BI项目的最佳效果?

在商业智能&#xff08;BI&#xff09;项目中&#xff0c;ETL&#xff08;Extract, Transform, Load&#xff09;开发起着至关重要的作用&#xff0c;被视为项目中不可或缺的关键环节。ETL的主要任务是从各个不同的数据源中提取数据&#xff0c;经过转换处理&#xff0c;然后加…

DLDP简介

定义 设备链路检测协议DLDP&#xff08;Device Link Detection Protocol&#xff09;用来监控光纤或铜质双绞线&#xff08;例如超五类双绞线&#xff09;的链路状态。如果发现单向链路存在&#xff0c;DLDP协议会根据用户配置&#xff0c;自动关闭或通知用户手工关闭相关接口…

绿联 安装Draw.io | 一款强大且支持在线编辑和导出的流程图绘制神器

绿联 安装Draw.io | 一款强大且支持在线编辑和导出的流程图绘制神器 1、镜像 jgraph/drawio:latest 2、安装 2.1、基础设置 重启策略&#xff1a;容器退出时总是重启容器。 2.2、网络 桥接即可。 2.3、端口设置 仅保留容器端口“8080”即可&#xff0c;此端口为http访问&…

NRP-Z11罗德与施瓦茨NRP-Z11功率探头

181/2461/8938产品概述&#xff1a; R&S NRP-Z11、R&S NRP-Z21、R&S NRP-Z22、R&S NRP-Z23 和 R&S NRP-Z24 功率传感器将多路径架构、多二极管技术和同步扫描多通道测量系统融合为独特的高性能概念。多路径架构意味着组合两个或三个二极管检波器以获得调制…

Java Lambda 表达式(详细)

Java Lambda 表达式 Lambda 的发展史 Java Lambda 表达式是在 Java 8 版本中引入的重要特性&#xff0c;它描述了一种更简洁、更灵活的方式来处理函数式编程。 在 Java 8 之前&#xff0c;要实现函数式编程&#xff0c;需要通过匿名类实现接口的方式。这样的代码通常比较冗长…

【MySQL探索之旅】数据库设计以及聚合查询

&#x1f4da;博客主页&#xff1a;爱敲代码的小杨. ✨专栏&#xff1a;《Java SE语法》 | 《数据结构与算法》 | 《C生万物》 |《MySQL探索之旅》 |《Web世界探险家》 ❤️感谢大家点赞&#x1f44d;&#x1f3fb;收藏⭐评论✍&#x1f3fb;&#xff0c;您的三连就是我持续更…

css anminate 加载中三个点点动态出现

期待效果&#xff1a; 核心代码&#xff1a; css3 anminate方法 //html <div>加载中<span id"dot">...</span></div>//css <style>   #dot {display: inline-block;width: 1.5em;vertical-align: bottom;overflow: hidden;animati…

Stm32 HAL库 访问内部flash空间

Stm32 HAL库 访问内部flash空间 代码的部分串口配置申明文件main函数 在一些时候&#xff0c;需要存储一些数据&#xff0c;但是又不想接外部的flash&#xff0c;那我们可以知道&#xff0c;其实还有内部的flash可以使用&#xff0c; 需要注意的是内部flash&#xff0c;读写次数…

免费在线搜索人名、电话号码、个人信息、定位、联系信息以及地址的开源网站

免费在线搜索人名、电话号码、个人信息、定位、联系信息以及地址的开源网站。 为大家推荐开源搜索电话号码及地址的网页。这些网站不仅提供了免费查找人员、电话号码、地址、区号、邮政编码和邮政编码的功能&#xff0c;还允许进行反向搜索&#xff0c;即通过输入电话号码找到…

YoloV8改进策略:Neck改进改进|ELA

摘要 本文使用最新的ELA注意力机制改进YoloV8&#xff0c;实现涨点&#xff01;改进方式简单易用&#xff0c;涨点明显&#xff01;欢迎大家使用。 大家在订阅专栏后&#xff0c;记着加QQ群啊&#xff01;有些改进方法确实有难度&#xff0c;大家在改进的过程中遇到问题&#…

GaN肖特基势垒二极管(SBD)的多阴极应用建模与参数提取

GaN Schottky Barrier Diode (SBD) Modeling and Parameter Extraction for Multicathode Application&#xff08;TED 24年&#xff09; 摘要 本文提出了一种适用于多阴极应用的紧凑型可扩展GaN肖特基二极管大信号模型。详细给出了外在和内在模型参数的可扩展规则。实验和理…

工业4g路由器联网后迅速掉线是什么原因?

工业4G路由器连接上网后迅速掉线可能是由多种因素造成的。以下是一些建议的检查和解决步骤&#xff1a; 1、信号问题&#xff1a; 信号强度&#xff1a;检查工业路由器信号强度指示灯&#xff0c;如果信号弱&#xff0c;尝试移动路由器位置或添加外部天线来增强信号。 网络拥…