代码随想录算法训练营第八天|344.反转字符串、541. 反转字符串II、卡码网:54.替换数字、151.翻转字符串里的单词、卡码网:55.右旋转字符串

news2024/11/19 11:28:38

题目:344.反转字符串

文章链接:代码随想录

视频链接:LeetCode:344.反转字符串

题目链接:力扣题目链接

图释:

// 反转字符串
void reverseString(vector<char>& s) {
	// 直接使用反转的库函数 reverse
	reverse(s.begin(), s.end());
	// 不使用
	for (int i = 0, j = s.size() - 1; i < s.size() / 2; i++, j--) {
		swap(s[i],s[j]);
	}
}

题目:541. 反转字符串II

文章链接:代码随想录

视频链接:LeetCode:541.反转字符串||

题目链接:力扣题目链接

图释:

// 反转字符串||
string reverseStr(string s, int k) {
	// 每计数2k进行一次反转
	for (int i = 0; i < s.size();i+=(2*k)) {
		// 不管是满足2k,还是满足大于k小于2k,只要+k不超过s的大小,都是反转前面的k个
		if ((i+k)<s.size()){
			reverse(s.begin() + i, s.begin() + i + k);
		}
		else {
			// 只有不满足k个,才把后面的都反转
			reverse(s.begin() + i, s.end());
		}
	}
	return s;
}

题目:卡码网:54.替换数字

文章链接:代码随想录

题目链接:卡码网题目链接

图释:

// 核心函数
// 替换数字
string  ReplaceNumbers(string s) {
	// 先遍历里面有多少个数组
	int NumbersNum = 0;
	for (int i = 0; i < s.size(); i++) {
		if ('0' <= s[i] && s[i] <= '9') {
			NumbersNum++;
		}
	}
	int originalSize = s.size();
	s.resize(s.size() + NumbersNum * 5);
	int right = s.size() - 1;
	for (int i = originalSize - 1; i >= 0; i--) {
		if ('0' <= s[i] && s[i] <= '9') {
			s[right--] = 'r';
			s[right--] = 'e';
			s[right--] = 'b';
			s[right--] = 'm';
			s[right--] = 'u';
			s[right--] = 'n';
		}
		else {
			s[right--] = s[i];
		}
	}
	return s;
}

题目:151.翻转字符串里的单词

文章链接:代码随想录

 视频链接:LeetCode:151.翻转字符串里的单词

题目链接:力扣题目链接

图释:

class Solution {
public:
    // 移除多余的空格
string  removeExtraSpaces(string s) {
	int slowIndex = 0, fastIndex = 0;
	// 移除头部空格
	while (s.size() > 0 && fastIndex<s.size() && s[fastIndex] == ' ') {
		fastIndex++;
	}
	// 移除中间的空格
	for (; fastIndex < s.size(); fastIndex++) {
		// 如果中间有连续空格,则fastIndex++
		if (fastIndex>0 && s[fastIndex - 1] == ' '&& s[fastIndex] == ' ') {
			continue;
		}
		else { // 如果不为连续空格才进行赋值
			s[slowIndex++] = s[fastIndex];
		}
	}
	// eg "_ _ 1 2 _ _"
	// 当"1 2 1(slow) 2 _(fast) _"时还执行一次s[slowIndex++] = s[fastIndex]; 复制完slowIndex++
	// 所以最后为->"1 2 _ 1(slow) 2 _(fast) _" fast超出界限
	// 移除尾端的空格
	if (slowIndex - 1 > 0 && s[slowIndex-1] == ' ') { //判断"1 2 _(slow-1) 1 2 _ _"
		s.resize(slowIndex-1);
	}
	else {
		s.resize(slowIndex); // 
	}
	return s;
}
// 反转字符串中的单词
string reverseWords(string s) {
	// 第一步  去除多余空格
	s = removeExtraSpaces(s);
	// 第二步  反转整个字符串
	reverse(s.begin(), s.end());
	// 第三步  反转单个单词
	int slowIndex = 0, fastIndex = 0;
	for (; fastIndex < s.size(); fastIndex++) {
		if (s[fastIndex] == ' ') {
			reverse(s.begin() + slowIndex, s.begin() + fastIndex);
			slowIndex = fastIndex + 1;
			fastIndex++;
		}
	}
	// 最后因为fastIndex==s.size()时,访问会出错,所以只能最后再反转
	reverse(s.begin() + slowIndex, s.end());
	return s;
}
};

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

文章链接:代码随想录

题目链接:卡码网题目链接

图释:

#include<iostream>
#include<algorithm>
using namespace std;
int main(){
    int n;
	string s;
	cin >> n;
	cin >> s;
	int len = s.size();

	// 整体反转
	reverse(s.begin(), s.end());
	// 单独段进行反转
	reverse(s.begin(), s.begin()+n);
	reverse(s.begin() + n + 1, s.end());
	cout << s << endl;
}

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

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

相关文章

数字化转型之于国家:为三驾马车更新马达

随着国民经济和社会发展第十四个五年规划的开启&#xff0c;中国也进入了全面建设社会主义现代化国家的新发 展阶段&#xff0c;未来要在坚持“创新、协调、绿色、开放、共享”的新发展理念下&#xff0c;在质量效益明显提升的基础上实 现经济持续健康发展。持续的发展意味着…

水库大坝安全监测中需要注意的事项

随着经济和社会的发展&#xff0c;水资源的需求也在不断增加。因此&#xff0c;建设水库已成为保障水资源的主要方式之一。然而&#xff0c;随着水库规模的增大和工程的复杂性的增加&#xff0c;水库大坝的安全问题也日益引起重视。为此&#xff0c;需要对水库大坝进行安全监测…

【爬虫】– 抓取原创力文档数据

使用RPA工具&#xff0c;实现针对于原创力中不可下载文档的抓取&#xff0c;可延用于其他类似文库 1 使用工具、环境 影刀RPA、WPS Office、谷歌浏览器&#xff08;非指定&#xff09; 2 代码流程 3 关键点 此方案只适合抓取非VIP即可预览全文的文档&#xff0c;抓取下来的数…

计算机网络 谢希仁(001-1)

计算机网络-方老师 总时长 24:45:00 共50个视频&#xff0c;6个模块 此文章包含1.1到1.4的内容 简介 1.1计算机网络的作用 三网融合&#xff08;三网合一&#xff09; 模拟信号就是连续信号 数字信号是离散信号 1.2互联网概述 以前2兆带宽就要98 现在几百兆带宽也就几百块 …

海川润泽AI机器视觉仪系列产品,助推“人工智能+”打开新质生产力的大门

3月5日&#xff0c;第十四届全国人民代表大会第二次会议开幕。国务院总理李强在政府工作报告&#xff0c;提出大力推进现代化产业体系建设&#xff0c;加快发展新质生产力。深入推进数字经济创新发展&#xff0c;制定支持数字经济高质量发展政策&#xff0c;积极推进数字产业化…

AI+权重衰退

AI权重衰退 1权重衰退2代码实现 2丢弃法 1权重衰退 AI权重衰退是指在人工智能&#xff08;AI&#xff09;领域中的一种技术或方法&#xff0c;用于训练机器学习模型时对权重进行惩罚或调整&#xff0c;以避免过拟合现象的发生。 在机器学习中&#xff0c;过拟合是指模型在训练…

Debug追踪

2.2 Debug追踪 使用IDEA的断点调试功能&#xff0c;查看程序的运行过程 在有效代码行&#xff0c;点击行号右边的空白区域&#xff0c;设置断点&#xff0c;程序执行到断点将停止&#xff0c;我们可以手动来运行程序 点击Debug运行模式 程序停止在断点上不再执行&#xff0c…

C/C++程序设计实验报告3 | 数组实验

本文整理自博主本科大一《C/C程序设计》专业课的课内实验报告&#xff0c;适合C语言初学者们学习、练习。 编译器&#xff1a;gcc 10.3.0 ---- 注&#xff1a; 1.虽然课程名为C程序设计&#xff0c;但实际上当时校内该课的内容大部分其实都是C语言&#xff0c;C的元素最多可能只…

多重背包(二进制优化)

[Acwing 5.多重背包] 有 N N N 种物品和一个容量是 V V V 的背包。 第 i i i 种物品最多有 s i s_i si​ 件&#xff0c;每件体积是 v i v_i vi​&#xff0c;价值是 w i w_i wi​。 求解将哪些物品装入背包&#xff0c;可使物品体积总和不超过背包容量&#xff0c;且…

BUUCTF-----[GXYCTF2019]禁止套娃

题目 目录扫描&#xff0c;扫到.git泄露&#xff0c;使用工具查看到index.php的源码 <?php include "flag.php"; echo "flag在哪里呢&#xff1f;<br>"; if(isset($_GET[exp])){if (!preg_match(/data:\/\/|filter:\/\/|php:\/\/|phar:\/\//i,…

出海品牌必备指南:海外网红营销5大底层逻辑解析

随着全球化的推进&#xff0c;品牌出海已经成为许多企业拓展市场的重要策略之一。在这个过程中&#xff0c;海外网红营销成为品牌吸引目标受众、提升知名度的有效工具。然而&#xff0c;要在海外市场取得成功&#xff0c;并不仅仅是找准网红合作伙伴&#xff0c;更需要深入了解…

全新2024快递平台系统 独立版快递信息查询小程序源码 cps推广营销流量主+前端 同城快递平台

内容目录 一、详细介绍二、效果展示1.部分代码2.效果图展示 三、学习资料下载 一、详细介绍 快递代发快递代寄寄件小程序可以对接易达云洋一级总代 快递小程序&#xff0c;接入云洋/易达物流接口&#xff0c;支持选择快递公司&#xff0c;三通一达&#xff0c;极兔&#xff0c…

鸿蒙Harmony应用开发—ArkTS声明式开发(容器组件:Counter)

计数器组件&#xff0c;提供相应的增加或者减少的计数操作。 说明&#xff1a; 该组件从API Version 7开始支持。后续版本如有新增内容&#xff0c;则采用上角标单独标记该内容的起始版本。 子组件 可以包含子组件。 接口 Counter() 从API version 9开始&#xff0c;该接口…

GIT共享 跨仓库操作 子模块

初级代码游戏的专栏介绍与文章目录-CSDN博客 有些文件想在多个项目共享&#xff0c;但是又不能放在一个GIT仓库里&#xff0c;这要用到子模块&#xff08;submodule&#xff09;&#xff0c;说难不难&#xff0c;就是有些细节要注意。 不过说真的&#xff0c;共享向来不是个好主…

山景BP1048 升级狗烧写

1.打开MVAssistant_BP10xx工具&#xff0c;在芯片型号栏中选择B1X系列。 2.模式选择 选 M2.仅升级Flash SH(可选) 3 .Code数据选择SDK编译好的bin文件 4.const数据选择编译好的提示音bin文件。 5.点击升级狗下载。 6. 如下图所示&#xff0c;出现提示为正在给升级狗正在下载程…

Android中Gradle的生命周期详解

前些天发现了一个蛮有意思的人工智能学习网站,8个字形容一下"通俗易懂&#xff0c;风趣幽默"&#xff0c;感觉非常有意思,忍不住分享一下给大家。 &#x1f449;点击跳转到教程 Gradle的生命周期分为三个阶段&#xff1a; 初始化阶段定义阶段(配置阶段)执行阶段 第…

什么是RAG?

此为看完视频What is Retrieval-Augmented Generation (RAG)?后的笔记。 视频很intuitive&#xff0c;上面这张截屏包含了所有RAG的要点。 RAG是一个框架&#xff0c;解决了LLM的2个问题&#xff1a; No source。没有来源&#xff0c;没有证据来支持或证明你的观点。过时。…

成都规模最大的直播基地在哪里

天府锋巢直播产业基地&#xff0c;位于成都这座历史文化与现代气息交织的城市&#xff0c;不仅是成都规模最大的直播产业园&#xff0c;更是西南地区乃至全国范围内具有影响力的直播产业聚集地。在这里&#xff0c;直播产业与科技创新、文化创意、教育培训等多个领域深度融合&a…

【机器学习】无监督学习:解锁数据中的潜在结构与关系

&#x1f388;个人主页&#xff1a;豌豆射手^ &#x1f389;欢迎 &#x1f44d;点赞✍评论⭐收藏 &#x1f917;收录专栏&#xff1a;机器学习 &#x1f91d;希望本文对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出指正&#xff0c;让我们共同学习、交流进…

造纸产生的污废水如何处理排放

造纸是一项重要的工业活动&#xff0c;然而&#xff0c;在造纸过程中产生的污废水对环境造成了一定的压力。因此&#xff0c;如何有效地处理和排放造纸污废水是关键的问题。本文将从处理和排放两个方面探讨造纸污废水的解决办法。 首先&#xff0c;对于造纸污废水的处理&#x…