代码随想录算法训练营第八天

344. 反转字符串

  1. 方法:
    方法一: 直接用reverse函数

  2. 注意:

  3. 代码:

class Solution {
public:void reverseString(vector<char>& s) {return  reverse(s.begin(), s.end());}
};
  1. 运行结果:
    在这里插入图片描述

  2. 方法:
    方法二: 双指针 思路:

     1.定义两个指针,left=0  ,right = s.size()-1;2.交换两个指针对应的字符;3.左指针++,右指针--, 直到左指针< 右指针终止循环。
    
  3. 注意:

  4. 代码:

class Solution {
public:void reverseString(vector<char>& s) {int left=0;int  right = s.size()-1;while(left<right){swap(s[left], s[right]);left++;right--;}}
};
  1. 运行结果
    在这里插入图片描述

541. 反转字符串II

  1. 方法:

     利用for循环,按题意来。
    
  2. 注意:

  3. 代码:

class Solution {
public:string reverseStr(string s, int k) {int size = s.size();for(int i=0; i<s.size(); i+=(2*k)){if(i+k<size){reverse(s.begin()+i, s.begin()+i+k);}else {reverse(s.begin()+i, s.end());}}return s;}
};
  1. 运行结果
    在这里插入图片描述

卡码网:54.替换数字

  1. 方法:
    方法一:

     1. 开辟一个新的字符串res ;2. 遍历字符串s,  若遇到数字,则res+="number",若遇到字符,则res+=i;
    
  2. 注意:

  3. 代码:

#include <iostream>
#include <string> 
using namespace std;int main(){std::string s;cin>>s;std:: string res;for(char i: s){if(i>='0' && i<='9'){res += "number";}else{res+=i;}}cout<< res;}
  1. 运行结果
    在这里插入图片描述

  2. 方法:
    方法二: 双指针 ,不用重新开辟新字符串,输出原始的字符串s:

     指针i  指向新长度的末尾指针j  指向旧长度的末尾如果s[j]是数字,则s[i] = 'r';s[i - 1] = 'e';s[i - 2] = 'b';s[i - 3] = 'm';s[i - 4] = 'u';s[i - 5] = 'n';i -= 5;    如果s[i]是字母  则s[i] = s[j]
    
  3. 注意: 利用cout输出

  4. 代码:

#include<iostream>
using namespace std;int main(){string s;while(cin>>s){int count = 0;int oldsize = s.size();for(int i = 0; i < s.size(); i++){if(s[i]>='0'&& s[i]<='9'){count++;}}// cout<<count<<endl;s.resize(s.size()+ count* 5);int newsize = s.size();for(int i=newsize-1, j = oldsize-1;  i>j ;   j--, i--){if(s[j]>='0'&& s[j]<='9'){s[i] = 'r';s[i - 1] = 'e';s[i - 2] = 'b';s[i - 3] = 'm';s[i - 4] = 'u';s[i - 5] = 'n';i -= 5;                  }else{s[i] = s[j]; }}std::cout << s << std::endl;}
}
  1. 运行结果
    在这里插入图片描述

151.翻转字符串里的单词

  1. 方法:
    方法一: 分段式想法:

     1. 先去掉s中多余的空格(前面的空格、中间的空格、后面的空格)2. 写一个翻转函数, 翻转局部小单词3. 整个字符串翻转,输出字符串。
    
  2. 注意:

  3. 代码:

class Solution {
public:void remove_extra_space(string& s){for(int i = s.size() - 1; i > 0; i--){if(s[i] == s[i-1] && s[i] == ' '){s.erase(s.begin()+i);}}if(s[0] == ' '&& s.size()>0){s.erase(s.begin());}if(s[s.size()-1]== ' ' && s.size()>0){s.erase(s.begin()+s.size()-1);}}void reverse(string &s, int start, int end){for(int i=start, j=end; i<j; i++, j--){swap(s[i], s[j]);}}string reverseWords(string s) {remove_extra_space(s);cout<<s<<endl;reverse(s, 0, s.size()-1);cout<<s<<endl;int start = 0;for(int i =0; i<=s.size(); i++){if( s[i] == ' ' || i==s.size()){reverse(s, start, i-1);start = i+1;}}return s;}
};
  1. 运行结果
    在这里插入图片描述

卡码网:55.右旋转字符串

  1. 方法:
    方法一: 暴力法 思路:

  2. 注意:

  3. 代码:

  4. 运行结果

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

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

相关文章

搜索算法(算法竞赛、蓝桥杯)--双向DFS+二分查找

1、B站视频链接&#xff1a;B26 双向DFS 送礼物_哔哩哔哩_bilibili #include <bits/stdc.h> using namespace std; int n,m; int g[46];//存储所有物品的质量 int w[1<<23];//存储所有能凑出来的重量 int ans,cnt;//w的个数是cnt//搜索第u个数&#xff0c;和为s; …

Geeker Admin添加若以分离版本的后台作为后台

添加验证码 下载若依赖前后端分离版本&#xff0c;配置好自己数据库&#xff0c;redis连接地址 登录添加验证码 配置自己的若依后端连接地址 添加验证码请求方法 登录页面登录输入框添加验证码&#xff0c;uuid,调用的验证码刷新方法 注意&#xff1a;这里要用响应式定义验证…

5_怎么看原理图之协议类接口之NAND Flash笔记

NAND Flash原理图&#xff1a; 由NAND Flash的原理图可以看出&#xff0c;做为一个存储芯片&#xff0c;只有I/O引脚&#xff0c;并没有地址引脚&#xff0c;怎么传地址&#xff1f;遵循一定的规范&#xff0c;先通过LDATA把地址传出去&#xff0c;再传数据。具体的需要查看芯片…

HTTP Cookie 你了解多少?

Cookie是什么&#xff1f; 先给大家举个例子&#xff0c;F12 打开浏览器的页面之后&#xff0c;我们能在 Response Headers 的字段里面看到一个header 叫做 Set-Cookie&#xff0c;如下所示 图中包含的 Set-Cookie 为 Set-Cookie:uuid_tt_dd10_20293537580-1709432565344-232…

【李沐论文精读】Resnet精读

论文地址&#xff1a;Deep Residual Learning for Image Recognition 参考&#xff1a;撑起计算机视觉半边天的ResNet【论文精读】、ResNet论文逐段精读【论文精读】、【李沐论文精读系列】 一、导论 深度神经网络的优点&#xff1a;可以加很多层把网络变得特别深&#xff0c;…

力扣周赛387

第一题 代码 package Competition.The387Competitioin;public class Demo1 {public static void main(String[] args) {}public int[] resultArray(int[] nums) {int ans[]new int[nums.length];int arr1[]new int[nums.length];int arr2[]new int[nums.length];if(nums.leng…

Linux系统Docker部署RStudio Server

文章目录 前言1. 安装RStudio Server2. 本地访问3. Linux 安装cpolar4. 配置RStudio server公网访问地址5. 公网远程访问RStudio6. 固定RStudio公网地址 前言 RStudio Server 使你能够在 Linux 服务器上运行你所熟悉和喜爱的 RStudio IDE&#xff0c;并通过 Web 浏览器进行访问…

4. 编写app组件

1. 代码 main.ts // 引入createApp用于创建应用 import {createApp} from "vue"// 引入App根组件 import App from ./App.vue createApp(App).mount(#app) App.vue <!-- vue文件可以写三种标签1. template标签&#xff0c;写html结构2. script 脚本标签&…

风险评估是什么意思?与等保测评有什么区别?

最近看到不少小伙伴在问&#xff0c;风险评估是什么意思&#xff1f;与等保测评有什么区别&#xff1f;这里我们就来简单聊聊。 风险评估是什么意思&#xff1f; 风险评估是指对某个特定领域或项目进行全面分析和评估&#xff0c;以确定可能存在的潜在风险和危害&#xff0c;并…

2023全球软件开发大会-上海站:探索技术前沿,共筑未来软件生态(附大会核心PPT下载)

随着信息技术的迅猛发展&#xff0c;全球软件开发大会&#xff08;QCon&#xff09;已成为软件行业最具影响力的年度盛会之一。2023年&#xff0c;QCon再次来到上海&#xff0c;汇聚了众多业界精英、技术领袖和开发者&#xff0c;共同探讨软件开发的最新趋势和实践。 一、大会…

服务器感染了.ma1x0勒索病毒,如何确保数据文件完整恢复?

引言&#xff1a; 网络安全成为至关重要的议题。.ma1x0勒索病毒是当前网络威胁中的一种恶意软件&#xff0c;它的出现给用户带来了极大的困扰。然而&#xff0c;正如任何挑战一样&#xff0c;我们也有方法来面对并克服.ma1x0勒索病毒。本文将全面介绍这种病毒的特点&#xff0…

MB85RC铁电 FRAM驱动(全志平台linux)

测试几天发现一个bug&#xff0c;就是无法一次读取32个字节的数据&#xff0c;1-31,33,128,512都试过了&#xff0c;唯独无法读取32个字节&#xff0c;驱动未报错&#xff0c;但是读取的都是0&#xff0c;找不到原因&#xff0c;估计应该是全志iic驱动的问题&#xff0c;暂时没…

leetcode - 2095. Delete the Middle Node of a Linked List

Description You are given the head of a linked list. Delete the middle node, and return the head of the modified linked list. The middle node of a linked list of size n is the ⌊n / 2⌋th node from the start using 0-based indexing, where ⌊x⌋ denotes th…

python中的类与对象(3)

目录 一. 类的多继承 二. 类的封装 三. 类的多态 四. 类与对象综合练习&#xff1a;校园管理系统 一. 类的多继承 在&#xff08;2&#xff09;第四节中我们介绍了什么是类的继承&#xff0c;在子类的括号里面写入要继承的父类名。上一节我们只在括号内写了一个父类名&…

【机器人最短路径规划问题(栅格地图)】基于模拟退火算法求解

代码获取方式&#xff1a;QQ&#xff1a;491052175 或者 私聊博主获取 基于模拟退火算法求解机器人最短路径规划问题&#xff08;栅格地图&#xff09;的仿真结果 仿真结果&#xff1a; 初始解的路径规划图 收敛曲线&#xff1a; 模拟退火算法求解的路径规划图 结论&#xff…

Ubuntu20安装zabbix-agent2,对接zabbix 6.4

在Ubuntu 20.04 LTS上安装Zabbix Agent 2并与Zabbix Server 6.4对接&#xff0c;请按照以下步骤操作&#xff1a; 更新系统&#xff1a; sudo apt update sudo apt upgrade 添加Zabbix官方仓库&#xff1a; 首先&#xff0c;需要将Zabbix的官方存储库添加到你的系统中以获取Za…

【了解SpringCloud Gateway微服务网关】

曾梦想执剑走天涯&#xff0c;我是程序猿【AK】 目录 简述概要知识图谱什么是SpringCloudGateway功能特征应用场景核心概念配置文件工作原理路由谓词工厂&#xff08;内置的&#xff09;[After 路由谓词工厂](https://docs.spring.io/spring-cloud-gateway/docs/current/refere…

Mysql运维篇(七) 部署MHA--完结

一路走来&#xff0c;所有遇到的人&#xff0c;帮助过我的、伤害过我的都是朋友&#xff0c;没有一个是敌人。如有侵权&#xff0c;请留言&#xff0c;我及时删除&#xff01; 一、MHA软件构成 Manager工具包主要包括以下几个工具&#xff1a; masterha_manger 启…

【C++】多态深入分析

目录 一&#xff0c;多态的原理 1&#xff0c;虚函数表与虚函数表指针 2&#xff0c;原理调用 3&#xff0c;动态绑定与静态绑定 二&#xff0c;抽象类 三&#xff0c;单继承和多继承关系的虚函数表 1&#xff0c;单继承中的虚函数表 2&#xff0c;多继承中的虚函数表 …

内网搭建mysql8.0并搭建主从复制详细教程!!!

一、安装mysql 1.1 mysql下载链接&#xff1a; https://downloads.mysql.com/archives/community/ 1.2 解压包并创建相应的数据目录 tar -xvf mysql-8.2.0-linux-glibc2.28-x86_64.tar.xz -C /usr/local cd /usr/local/ mv mysql-8.2.0-linux-glibc2.28-x86_64/ mysql mkdir…