字符串旋转(1)

news2024/12/24 8:33:44

目录

​编辑

题目要求😍:

 题目内容❤:

 题目分析📚:

主函数部分📕:​编辑

方法一🐒:

方法二🐒🐒: 

 方法三🐒🐒🐒:


                                                            

题目要求😍:

 题目内容❤:

 题目分析📚:

设:真正挪动的次数为 time  字符串的长度为 len   输入的挪动次数为 k

 time  =  k  %  len ;

主函数部分📕:

  •  char* str = "abcd";会出现错误的原因是,这是一个字符指针,根据字符指针的原理,指向的字符串是一个字符常量,字符常量是不允许修改的。
  • 而char str[ ]是一个字符数组,和字符常量无关。

方法一🐒:

  1. 进行一个一个的挪动,将需要挪动的字符放入一个新的变量中,后面的字符往前挪动。
  2. 因此,我们应该使用两个for循环解决问题,第一个for循环是为了解决挪动字符次数,第二个for循环是为了当挪动字符转移到新的空间后,其余的字符往前移动的遍历。
  3. 而在挪动的过程我们要注意一个越界问题,如上图:当挪动字符的下标抵达字符D的时候,我们就不因该在往后挪动,因为后面是字符A所需要放置的地点,且若进行挪动,那么字符A则会超出字符串的界限!
  4. 因此,为了不超过界限,我们将长度设限为 len-1

 

方法二🐒🐒: 

  1. 利用库函数的方法,需要使用strcpy和strncat。
  2. 先设定一个指针是指向首字符的,随后将指针+需要挪动的次数,这样指针就指向了一个不需要挪动的字符,首把这个字符放进全新的变量中。
  3. 随后使用拷贝字符,进行将甚于的字符从字符数组中拷贝下来,与之前放进全新变量中的字符进行拼接。
  4. 随后使用拷贝字符,进行将甚于的字符从字符数组中拷贝下来,与之前放进全新变量中的字符进行拼接。

简略介绍😀:

strcpy(x,y)

y是指拷贝的内容,x是指将拷贝的内容y放置的空间!

strnact(x,y,z)

这是将y的内容拼接到x内容的末端,z是表示y内容的前z位拼接到x的末端,加入y是字符串,z是一个数字3,那么就是表示,字符串的前三位拼接到x内的末端。

 

 方法三🐒🐒🐒:

  1. 将字符分为两部分,第一部分是需要挪动的字符,第二部分是不需要挪动的字符。
  2. 将两个部分内的字符都进行前后顺序对调翻转。
  3. 如图需要挪动的是,前两个字符。
  4. 到最后把整体都进行翻转。
  5. 这个两次的局部翻转,和最后经过两次局部翻转后的大翻转的理论基础原理是数组逆序,和下标位置的确定,以及翻转区间的确定。
  6. 就是0 和挪动次数减一,以及挪动次数和字符串长度减一两个区间。
  7. 这里的逆置原理是,左端的和右端的交换,left和right。

 

 

  

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

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

相关文章

Day978.如何在移动App中使用OAuth 2.0? -OAuth 2.0

如何在移动App中使用OAuth 2.0? Hi,我是阿昌,今天学习记录的是关于如何在移动App中使用OAuth 2.0?的内容。 除了 Web 应用外,现实环境中还有非常多的移动 App。 那么,在移动 App 中,能不能使…

手把手带你设计接口自动化测试用例(一):提取接口信息并分析

1、测试行业市场现状 随着市场需求的变化,大部分企业在招聘测试人员时,都会提出接口自动化测试的相关要求,为什么会这样呢? 目前,软件构架基本上都是前后端分离的,软件的主要功能由服务端提供。从整个软件…

生成国密SM2密钥对

在线生成国密密钥对 生成的密钥对要妥善保管,丢失是无法找回的。

windows无法与设备或主DNS服务器通信

今天电脑连上wifi后发现qq可以登录,爱奇艺也可以正常使用,但是就浏览器不能用,不管哪个网站都是无法访问,点击下面的Windows网络诊断后发现是因为windows无法与设备或主DNS服务器通信 1.右下角右键wifi图标,打开网络和internet设置 2.点击网络和共享中心 3. 点击更改适配器设置…

(杭电多校)2023“钉耙编程”中国大学生算法设计超级联赛(9)

1002 shortest path 记忆化搜索可以用 map 实现&#xff0c;频繁读取而不考虑元素顺序的可以使用 unordered_map &#xff0c;有效降低时间空间复杂度 dfs(n/2)n%21,其中n%2表示将n变为偶数的次数,1表示操作n/2,dfs(n/2)即表示将n/2变为1的次数 AC代码: #include<iostre…

深入探索Spring后置处理器:解析作用与实际应用场景

前言 BeanDefinitionRegistryPostProcessor &#xff0c; BeanFactoryPostProcessor &#xff0c;InstantiationAwareBeanPostProcessor&#xff0c; BeanPostProcessor是spring生命周期中常见的4个后置处理器&#xff0c;但是对于其作用和执行顺序很多人还不是非常清楚&#…

软件测试的调用接口怎么调用,逻辑是什么?

一、什么是接口测试&#xff1f; 接口测试是测试系统组件之间接口的测试。接口主要用于检测外部系统和内部子系统之间的交互点。测试的重点是检查数据交换、传输、控制和管理过程&#xff0c;以及系统之间的相互逻辑依赖。 二、为什么要做接口测试&#xff1f; 在淘宝系统的…

Java8新特性---Stream流

什么是Stream 是数据渠道&#xff0c;用于操作数据源&#xff08;集合、数组等&#xff09;所生成的元素序列。集合讲究的是数据&#xff0c;流讲的是计算 注意&#xff1a; Stream不会自己存储元素Stream不会改变源对象&#xff0c;相反&#xff0c;他们会返回持有结果的新…

GPT-4耗尽全宇宙数据!OpenAI接连吃官司,竟因数据太缺了,UC伯克利教授发出警告

穷尽「全网」&#xff0c;生成式AI很快无数据可用。 近日&#xff0c;著名UC伯克利计算机科学家Stuart Russell称&#xff0c;ChatGPT和其他AI工具的训练可能很快耗尽「全宇宙的文本」。 换句话说&#xff0c;训练像ChatGPT这样的AI&#xff0c;将因数据量不够而受阻。 这可能…

五、修改官方FreeRTOS例程(STM32F1)

1、官方源码下载 (1)进入FreeRTOS官网&#xff1a;FreeRTOS官网 (2)下载FreeRTOS。(选择带示例的下载) 2、删减目录 (1)下载后解压的FreeRTOS文件如下图所示。 (2)删除下图中红框勾选的文件。 FreeRTOS-Plus&#xff0c;FreeRTOS的生态文件&#xff0c;非必需的。tools&…

esp8266+电压检测模块检测电池电压

该模块5v时输出1v&#xff0c;因esp8266 ADC引脚(A0)支持电压范围是0v-1v&#xff0c;所以该方案仅支持0-5v电压检测 接线&#xff1a; - 接 esp8266GND 可不接 S 接 ADC esp8266 为 A0 VCC 被检测直流电 GND 被检测直流电- #include <Wire.h>const int adcPin A0; // …

Redis五大基本数据类型及其使用场景

文章目录 **一 什么是NoSQL&#xff1f;****二 redis是什么&#xff1f;****三 redis五大基本类型**1 String&#xff08;字符串&#xff09;**应用场景** 2 List&#xff08;列表&#xff09;**应用场景** 3 Set&#xff08;集合&#xff09;4 sorted set&#xff08;有序集合…

excel逻辑函数篇1

1、AND(logical1,[logical2],…)&#xff1a;用于测试所有条件是否均为TRUE 检查所有参数均为true&#xff0c;如果是则返回true 2、OR(logical1,[logical2],…)&#xff1a;用于测试是否有为TRUE的条件 如果任意参数值为true&#xff0c;即返回true&#xff1b;只有当所有参数…

223、仿真-基于51单片机温湿度PH值二氧化碳(C02)报警Proteus仿真设计(程序+Proteus仿真+配套资料等)

毕设帮助、开题指导、技术解答(有偿)见文未 目录 一、硬件设计 二、设计功能 三、Proteus仿真图 四、程序源码 资料包括&#xff1a; 需要完整的资料可以点击下面的名片加下我&#xff0c;找我要资源压缩包的百度网盘下载地址及提取码。 方案选择 单片机的选择 方案一&…

机器学习笔记 - 基于keras + 小型Xception网络进行图像分类

一、简述 Xception 是深度为 71 层的卷积神经网络,仅依赖于深度可分离的卷积层。 论文中将卷积神经网络中的 Inception 模块解释为常规卷积和深度可分离卷积运算(深度卷积后跟点卷积)之间的中间步骤。从这个角度来看,深度可分离卷积可以理解为具有最大数量塔的 Inception 模…

学习笔记230804---restful风格的接口,delete的传参方式问题

如果后端提供的删除接口是restful风格&#xff0c;那么使用地址栏拼接的方式发送请求&#xff0c;数据放在主体中&#xff0c;后端接受不到&#xff0c;当然也还有一种可能&#xff0c;后端在这个接口的接参设置上是req.query接参。 问题描述 今天遇到的问题是&#xff0c;de…

windows子系统wsl2备份(迁移D盘)还原系统

windows子系统wsl2备份还原系统 1.查看wsl版本 wsl -l -v2.停止wsl子系统 wsl --terminate Ubuntu-22.043.导出子系统备份 wsl --export Ubuntu-22.04 D:\Ubuntu_bak.tar4.删除原有系统 wsl --unregister Ubuntu-22.045.还原系统 wsl --import Ubuntu-22.04 d:\Ubuntu-ws…

Jenkins-发送邮件配置

在Jenkins构建执行完毕后&#xff0c;需要及时通知相关人员。因此在jenkins中是可以通过邮件通知的。 一、Jenkins自带的邮件通知功能 找到manage Jenkins->Configure System&#xff0c;进行邮件配置&#xff1a; 2. 配置Jenkins自带的邮箱信息 完成上面的配置后&#xf…

【0基础入门Python笔记】三、python 之函数以及常用内置函数

三、python 之函数以及常用内置函数 函数函数定义函数调用函数参数返回值 常用内置函数input()函数range()函数其它 函数 函数是一种用于封装可重复使用代码块的工具&#xff0c;能够将一系列操作组织成一个逻辑单元。 函数定义 在Python中&#xff0c;函数通过def关键字进行…

Python可视化在量化交易中的应用(12)_Seaborn柱状图

Seaborn中柱状图的绘制方法 seaborn中绘制折线图使用的是sns.barplot()函数&#xff1a; sns.barplot(x,y,hue,data,order,hue_order,estimator,ci95,n_boot1000,units,seed,orient,color,palette,saturation0.75,errcolor‘.26’,errwidth,capsize,dodgeTrue,ax,**kwargs,) …