代码随想录算法训练营第八天|344.反转字符串、541.反转字符串Ⅱ、54.替换数字(卡码网是真滴不好用)

news/2024/10/6 4:25:39/文章来源:https://www.cnblogs.com/zhuyishao/p/18284415

344简单 写个循环

 1 class Solution {
 2 public:
 3     void reverseString(vector<char>& s) {
 4         char tmp;
 5         int len = s.size();
 6         for (int i = 0; i < len/2; i++) {
 7             tmp = s[i];
 8             s[i] = s[len - i -1];
 9             s[len - i - 1] = tmp;
10         }
11     }
12 };

541把344拿来当函数了 分段进行循环

 1 class Solution {
 2 public:
 3     string reverseStr(string s, int k) {
 4         int len = s.size();
 5         int t = 0;
 6         while (len > 0) {
 7             if (len < k) {
 8                 reverse(s, t, len); // 调用 reverse 函数时传入子串的起始位置 t 和长度 len
 9                 break;
10             }
11             else if (len >= k && len < 2*k) {
12                 reverse(s, t, k); // 调用 reverse 函数时传入子串的起始位置 t 和长度 len
13                 break;
14             }
15             else if(len >= 2*k) {
16                 reverse(s, t, k); 
17                 t += 2*k;
18                 len -= 2*k;
19             }
20         }
21         return s;
22     }
23     
24 private:
25     void reverse(string& s, int start, int k) { // 修改 reverse 函数接收整个字符串 s 的引用
26         char tmp;
27         int end = start + k - 1; // 计算子串的结束位置
28         
29         for (int i = start; i < start + k/2; i++) {
30             tmp = s[i];
31             s[i] = s[end - (i - start)];
32             s[end - (i - start)] = tmp;
33         }
34     }
35 };

54就是做一个判断 遇见了就替换

 1 #include <iostream>
 2 #include <vector>
 3 using namespace std;
 4 
 5 int main() {
 6     string s;
 7     while (cin >> s) {
 8         vector<char> result;
 9         
10         for (char c : s) {
11             if (c >= '0' && c <= '9') {
12                 result.push_back('n');
13                 result.push_back('u');
14                 result.push_back('m');
15                 result.push_back('b');
16                 result.push_back('e');
17                 result.push_back('r');
18             } else {
19                 result.push_back(c);
20             }
21         }
22         // 将 result 转换为字符串并输出
23         cout << string(result.begin(), result.end()) << endl;
24     }
25     return 0;
26 }

 

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

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

相关文章

《DNK210使用指南 -CanMV版 V1.0》第九章 打印输出实验

第九章 打印输出实验 1)实验平台:正点原子DNK210开发板 2)章节摘自【正点原子】DNK210使用指南 - CanMV版 V1.0 3)购买链接:https://detail.tmall.com/item.htm?&id=782801398750 4)全套实验源码+手册+视频下载地址:http://www.openedv.com/docs/boards/k210/ATK-DN…

分享一款可编辑本地电脑文件的在线编辑器

之前见过在线版的VSCode,被惊讶到了。网页上竟然可以编辑电脑本地的文件,打破了网页无法编辑本地电脑文件的限制。一直好奇怎么做的。抽空研究了一下,然后发现其实也不难。背景 之前见过在线版的VSCode,被惊讶到了。网页上竟然可以编辑电脑本地的文件,打破了网页无法编辑本…

xhcms

xhcms 目录结构 admin --管理后台文件夹 css --存放css的文件夹 files --存放页面的文件夹 images --存放图片的文件夹 inc --存放网站配置文件的文件夹 install --网站进行安装的文件夹 seacmseditor --编辑器文件夹 templ…

lrzsz安装完成后rz乱码

rz选择文件夹后乱码传输不到linux里面, 这时候只需要rz -be再选择文件 这样就可以进行后续的解压了tar -zxvf jdk-8u65-linux-x64.tar.gz

椭流线法设计配光器

本文介绍了利用椭流线法设计高效均匀的LED配光器,通过对边光原理、反射定律及椭圆几何特性的深入分析,结合Matlab和SolidWorks软件实现光学仿真,最终成功设计出接收效率高、均匀度优的配光器。椭流线法设计配光器 椭流线法设计配光器 一、设计原理 1、边光原理 边光原理是非…

wx云开发增删改查

首先是.wxml文件,此处为固定数据的新增<button type="primary" bind:tap="addData"> //调用.js中addData方法插入数据 </button>对应.js文件//添加数据addData(){wx.showLoading({ //showLoading(api接口)(防止用户多次…

剪裁法设计配光器

剪裁法设计配光器通过光源角分割和目标面分割,利用边光原理和反射定律,计算并构建光学母线,以实现高均匀度和高光效的均匀圆斑光学设计。剪裁法设计配光器 剪裁法设计配光器 一、设计原理边光原理 边光原理是非成像光学中的一个基础原理,其内容可以表述为:来自光源边缘的光…

iOS-列表视图

在iOS开发中,UITableView和UICollectionView是两个非常核心的用于展示集合数据的UI组件。它们都能以列表的形式展示数据,但各自的特点和使用场景有所不同。 UITableView UITableView用于展示和管理垂直滚动的单列数据列表。它是以行的形式展示数据,每行(cell)可以展示相同…

CPC配光系统设计

本文详细介绍了CPC(复合抛物线聚光器)配光系统的设计过程,包括设计原理、抛物流线几何特性及其设计要求和流程,并通过Matlab和SolidWorks绘制模型,最后在TracePro中进行仿真验证,确保系统满足均匀照度和高效接收率的目标。CPC配光系统设计 CPC配光系统设计 一、设计原理 …

VMware vSphere Tanzu部署_14_部署容器应用

1.部署运行容器应用 1.1. 登录tkc集群 jianhua@napp:~/tkc$ kubectl vsphere login --server=192.168.203.194 \ --tanzu-kubernetes-cluster-name tkc-dev-cluster \ --tanzu-kubernetes-cluster-namespace tkc-01 \ --vsphere-username administrator@vsphere.local \ --ins…

贝塞尔曲线原理、推导及Matlab实现

本文详细解析了贝塞尔曲线的定义、性质、构建方法以及多种阶数的推导公式,并提供了完整的Matlab代码用于绘制和计算贝塞尔曲线。贝塞尔曲线原理、推导及Matlab实现 贝塞尔曲线原理、推导及Matlab实现 一、简介 贝塞尔曲线提出 在数学的数值分析领域中,贝塞尔曲线(English:B…

刘积仁的大健康“长跑”

软件是一个长命的产业,但软件企业的寿命都很短。懂得怕死,才能有机会活得长久。 这一次,刘积仁又为东软医疗找到了强大助力!中国通用技术(集团)控股有限责任公司(以下简称通用技术集团)所属资本公司战略投资东软集团在医疗健康领域资的创新业务公司——东软医疗,双方也由…