首页 > 编程语言 >算法训练营第七天| 344.反转字符串 541. 反转字符串II 卡码网:54.替换数字

算法训练营第七天| 344.反转字符串 541. 反转字符串II 卡码网:54.替换数字

时间:2024-10-03 13:49:13浏览次数:8  
标签:卡码 函数 填充 反转 元素 字符串 替换 指针

344.反转字符串

状态:成功完成。

初始思路:双指针交换位置就可以,如果元素个数为偶数,则刚好交换完最后一组后,left>right;如果元素个数为奇数,交换完最后一组后,left和right同时到达中位数,不需要交换。

 541. 反转字符串II 

状态:没做出来。

初始思路:这道题是以上一个题目为基础的,我的初始思路是很混乱的,我首先想到了快慢指针,感觉不太方便。然后又想到了先算有几组2k和余数为多少,但是这种我又不知道怎么确定开始和结束位置,很混乱。

看完视频讲解之后:思路很清晰 先写一个翻转字符串函数,左闭右开的去翻转。我认为最难洗想到的一点就是for循环中i每次步进2k,很厉害。自己就是思维太混乱了,以及一组一组不知道该怎么办。需要注意在python代码中传递参数时,可变对象可以直接在函数中被修改,因为它们是引用传递;而不可变对象不会直接在函数中被改变。这里可以str是不可改变的对象,所以可以先转为list,之后再join。

 卡码网:54.替换数字

状态:gpt帮助下完成。

初始思路:检查每一个s[i]如果在'a''z'之间,就跳过,如果不在的话,就是数字,就替为‘number’,python中可以转为列表之后直接替换,c++中需要用replace函数来替换 s.replace(i, 1, "number");

看完讲解之后:这里考察的就是替换,所以不应该直接用一个函数来解决。真正想考察的应该是其实很多数组填充类的问题,其做法都是先预先给数组扩容带填充后的大小,然后在从后向前进行操作。 

这么做有两个好处:

  1. 不用申请新数组。
  2. 从后向前填充元素,避免了从前向后填充元素时,每次添加元素都要将添加元素之后的所有元素向后移动的问题。

 最后还是用到了双指针,需要注意的就是双指针的移动问题。

标签:卡码,函数,填充,反转,元素,字符串,替换,指针
From: https://blog.csdn.net/xiaotaoooo/article/details/142672179

相关文章

  • 全网最适合入门的面向对象编程教程:55 Python字符串与序列化-字节序列类型和可变字节字
    全网最适合入门的面向对象编程教程:55Python字符串与序列化-字节序列类型和可变字节字符串摘要:在Python中,字符编码是将字符映射为字节的过程,而字节序列(bytes)则是存储这些字节的实际数据结构,字节序列和可变字节字符串的主要区别在于其可变性和用途,bytearray是可变的字节序列......
  • 54_初识搜索引擎_解密如何将一个field索引两次来解决字符串排序问题
    如果对一个stringfield进行排序,结果往往不准确,因为分词后是多个单词,再排序就不是我们想要的结果了通常解决方案是,将一个stringfield建立两次索引,一个分词,用来进行搜索;一个不分词,用来进行排序PUT/website{"mappings":{"article":{"properties":{"title":{"type":"t......
  • c++ vector容器、字符串
    c++vector容器          字符串:           ......
  • python 包含有引号和花括号的字符串的格式化
    replace不起作用;update_per_seconds="30"uploadtime_per_seconds="30"imei_string="1234"###采用{0}format不行###下面replace不行msg="""{"rmtcmd":"set","dev":{"poll":{&......
  • 字符函数和字符串函数
    一.字符转换函数C语言提供2个字符转换函数tolower  toupper       他可以转换大小写 二.strlen的使用和模拟实现字符串以\0作为结束标志,strlen返回的是在strlen前面出现的字符个数(不包含\0)strlen函数模拟实现递归的方法 创建临时变量计数器 指针......
  • 哈希表和字符串哈希算法
    哈希哈希表(HashTable)是一种数据结构,它可以通过一个哈希函数将键(key)映射到存储位置,从而实现高效的数据查找、插入和删除操作。哈希表的特点是能够在常数时间(O(1))内完成查找和更新,前提是哈希冲突处理得当。哈希表的基本结构数组:哈希表的底层通常是一个数组,数组中的每个元......
  • AWK进阶教程:精通match函数,让字符串搜索游刃有余!
    AWK中的match函数允许你在字符串中搜索模式。在本教程中,你将学习如何使用awkmatch函数,基于匹配结果执行条件处理,并遍历字符串中的多个匹配项。语法和用法awkmatch函数的基本语法是:awk'{if(match($0,pattern))print$0;}'filename这里,$0表示整行输入,pat......
  • 解决 ASP.NET Core MySql varchar 字符串截取(长度 255)
    解决ASP.NETCoreMySqlvarchar字符串截取(长度255) ASP.NETCore中使用MySql,如果字段类型为varchar,不管设置多少长度,插入或更新数据的时候,会自动截断(截取255长度的字符)。出现问题的原因,就是使用了MySql.Data.EntityFrameworkCore程序包(我使用的版本是7.0.7-m6),可能是......
  • 【题解】【模拟,字符串】—— [NOIP2011 普及组] 统计单词数
    【题解】【字符串】——[NOIP2011普及组]统计单词数[NOIP2011普及组]统计单词数题目描述输入格式输出格式输入输出样例输入#1输出#1输入#2输出#2提示1.思路解析2.AC代码[NOIP2011普及组]统计单词数通往洛谷的传送门题目描述一般的文本编辑器都有查找......
  • python字符串方法详解
    str1='Hello'str2='World'str3='abc'#字符串拼接print(str1+str2)#HelloWorldprint(''.join([str1,str2]))#HelloWorld#获取字符串切片print(str1[0:4])#Hell获取字符串从索引0开始,到3print(str2[1:3])#or获取字符串从索引1开始,到2print((str1......