当前位置: 首页 > news >正文

代码随想录算法训练营day9:字符串part02

今日任务

●151.翻转字符串里的单词
●卡码网:55.右旋转字符串
●28. 实现 strStr()
●459.重复的子字符串
●字符串总结
●双指针回顾

151.翻转字符串里的单词

不要使用辅助空间,空间复杂度要求为O(1)。意思要原地反转吗?
思路:双指针
给pre, suffix 两个变量存储前后的连个单词。
但是终止条件?左右指针相遇?
看上去我想复杂了。

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

对python来说,好像就是切分加拼接。

28. 实现 strStr()

KMP

先吸收一点儿吧。

算法要解决的问题就是:
当出现字符串不匹配时,可以记录一部分之前已经匹配的文本内容,利用这些信息避免从头再去做匹配。

next 数组就是一个前缀表(prefix table).
前缀表是用来回退的,它记录了模式串和主串不匹配的时候,模式串应该从哪里开始重新匹配。

最长公共前后缀
文章中字符串的前缀是指不包含最后一个字符的所有以第一个字符开头的连续子串。
后缀是指不包含第一个字符的所有以最后一个字符结尾的连续子串。

459.重复的子字符串

暂时跳过

http://www.dtcms.com/a/173211.html

相关文章:

  • 解密下一代AI:大模型技术的突破与挑战
  • 数据库的范围查询
  • brep2seq kaggle安装 micromamba conda环境
  • 进程间通信——管道
  • 计算机体系结构 第九章 (附带移数网络直径证明和取值情况)
  • 超详细BAM/SAM详解:文件格式与具体参数
  • Milvus(14):更改 Collections 字段、Schema 设计实践
  • Leetcode刷题记录33——二叉树的最小深度
  • 谈判模拟器提示词设计 - Gemini 2.5 优化版
  • Agent2Agent(谷歌A2A)协议原理讲解
  • CatBoost算法原理及Python实现
  • 牛客 Wall Builder II 题解
  • DeepSeek-提示词工程
  • 形式化数学——Lean的介绍与安装
  • Python异步编程入门:从同步到异步的思维转变
  • 链表操作练习
  • 【C++】WSL常用语法
  • 电子商务商家后台运营专员模板
  • Android工厂模式
  • 设一个测试情境,新用户注册后显示的名字不完整,测试思路是怎么样的?
  • 【C/C++】inline关键词
  • 用网页显示工控仪表
  • 精益数据分析(40/126):移动应用商业模式的关键指标与盈利策略
  • 常见小模型的实现原理及使用示例:Android端
  • 黑马点评day02(缓存)
  • 常用CPU、GPU、NPU、DSP、ASIC等芯片区别介绍
  • IL2CPP 技术深度解析
  • 三星SMT贴片机选型与效能提升指南
  • 学习路线(c++)
  • 使用Mathematica绘制Sierpinski地毯