重练算法(代码随想录版) day9 - 字符串part2

今日刷题量:4
当前刷题总量:45
Easy: 26
Mid: 18
Hard: 1

Day9
解题思想
1.整体翻转+部分翻转的多次翻转思想来原地解决字符串左/右旋问题
2.KMP算法思想,比较难理解,记忆getNext模版代码(next数组保持原样不-1版):

点击查看代码
void getNext (int* next, const string& s){next[0] = 0;int j = 0;for(int i = 1;i < s.size(); i++){while(j > 0 && s[i] != s[j]) {j = next[j - 1];}if(s[i] == s[j]) {j++;}next[i] = j;}}

3.对于找重复子串的思路:
(1)把 s 拼接成 t = s + s,去掉首尾字符后,如果 s 还能在 t 中被找到,就说明 s 是由某个子串重复构成的。
(2)如果存在最长相同前后缀next[len - 1],并且数组的长度正好可以被 最长相等前后缀不包含的子串的长度 整除 ,说明该字符串有重复的子字符串。

练习题目

  • 151.翻转字符串里的单词(mid):https://leetcode.cn/problems/reverse-words-in-a-string/
  • 卡码网:55.右旋转字符串(easy):https://kamacoder.com/problempage.php?pid=1065
  • 28.找出字符串中第一个匹配项的下标(easy):https://leetcode.cn/problems/find-the-index-of-the-first-occurrence-in-a-string/
  • 459.重复的子字符串(easy):https://leetcode.cn/problems/repeated-substring-pattern/description/

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

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

相关文章

Spring Boot 进阶:企业级性能与可观测性指南

扩展 Spring Boot 应用不仅仅是添加更多服务器。它关乎工程效率——在水平扩展之前,从现有硬件中榨取每一分性能。 在本文中,我们将探讨如何为高性能、云原生环境调优、扩展和分析 Spring Boot 应用——包含实践示例…

早就下好了IEDA,也算是差生文具多了

IEDA安装与试用 IEDA是什么——集成开发工具(IDE) IDEA官网:https://www.jebrains.com/进行简单的“hello,world!”运行

GLM4.6 测评

测试题: 8米长的竹竿能否通过高4米宽3米的门? ---》能,立体的情况下可以通过 GLM 4.6 非思考 ---》 失败GLM 4.6 思考 ---》 成功可以使用任何数字符号,但不能改变数字位置,怎样让这个等式成立: 6 5 4 1 = 24 -…

Pyinstaller - Python桌面应用打包的首选工具 - 详解

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

DNS record types: AAAA vs AA All In One

DNS record types: AAAA vs AA All In One DNS AAAA 记录将域名与 IPv6 地址进行匹配,这与 A 记录相似,后者对 IPv4 地址进行同样的操作。DNS record types: AAAA vs AA All In OneDNS AAAA 记录将域名与 IPv6 地址进…

关于Langchain更新解决Memory的引用

结合我之前的文章,关于调用memory的部分改成如下所示(老版本也可用,只不过不适配新版本的Langchain) langchain版本均采用最新版本,同时,Python版本要在3.10以上,详情可参考Langchain官方文档 from langchain_c…

win7 打开 icmp-ping 回显

需要放开防火墙 ICMP 规则选项: 执行以下命令:netsh firewall set icmpsetting 8type - ICMP 类型2 - 允许出站数据包太大。3 - 允许出站目标不可访问。4 - 允许出站源抑制。5 - 允许重定向。8 - 允许入站…

旋转矩阵在导航与机器人中的应用

在组合导航、无人机控制、机器人运动学等领域,旋转矩阵是连接参考坐标系与载体坐标系的核心工具,而欧拉角旋转顺序则决定了姿态描述的逻辑与精度。本文将聚焦最常用的三种旋转顺序,从基础原理、旋转矩阵推导到实际应…

JVM之锁优化(自旋锁 适应性自旋 锁消除 锁粗化 轻量级锁 偏向锁) - 教程

JVM之锁优化(自旋锁 适应性自旋 锁消除 锁粗化 轻量级锁 偏向锁) - 教程pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: …

Tavus发布多模态数字伙伴PALs,能看、听、推理;李飞飞团队推出首款商用世界模型World Labs Marble丨日报

开发者朋友们大家好:这里是 「RTE 开发者日报」 ,每天和大家一起看新闻、聊八卦。我们的社区编辑团队会整理分享 RTE(Real-Time Engagement) 领域内「有话题的技术」、「有亮点的产品」、「有思考的文章」、「有态…

实用指南:每日一个C语言知识:C 数组

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

Android 对话框 - 对话框全屏显示(设置 Window 属性、采用自定义样式、继承 DialogFragment 达成、继承 Dialog 建立)

Android 对话框 - 对话框全屏显示(设置 Window 属性、采用自定义样式、继承 DialogFragment 达成、继承 Dialog 建立)pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !importa…

2025年陕西短视频制作服务商TOP5实力榜:AI赋能内容创作新时代

随着短视频成为企业品牌传播和流量获取的核心阵地,市场对专业制作服务商的需求持续攀升。本榜单基于技术创新力、行业服务经验、客户满意度及AI应用能力四大维度,结合本地企业服务案例数据,全面解析2025年陕西地区五…

面试官问:什么是Java内存模型? - 教程

面试官问:什么是Java内存模型? - 教程pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Mo…

Spring AI Alibaba 项目源码学习(四)-Graph中的存储分析

Store 存储系统分析 请关注微信公众号:阿呆-bot 概述 本文档分析 spring-ai-alibaba-graph-core 模块中的 Store 存储系统,包括接口设计、实现模式、支持的存储类型和关键设计点。 入口类说明 Store - 存储接口 Stor…

20251113 正睿

A给定 \(n, m, k\),需要构造一个数组 \(a\),使得 \(a_i\) 为 \([1, m]\) 的整数且 \(\sum \gcd(i, i + 1) = k\) \(n \le 10^5, m \le 10^{12}, n - 1 \le k \le (n - 2)m\),可以证明有解。对于这种类型的构造题,结…

好消息,.NET 10 正式发布,更智能、更安全、更高性能的统一开发平台!

前言 好消息,.NET 团队于 2025 11 月 11 日宣布 .NET 10 正式发布,这是迄今为止最高效、最现代、最安全、最智能且性能最高的 .NET 版本。长期支持版本(LTS) .NET 10 是一个长期支持版本(LTS) ,将支持三年 ,直…

从Dalvik字节码角度优化安卓编码

目录静态属性与this指针字段与局部变量final属性与编译优化内部类与桥接方法匿名类与Lambda小结 安卓开发中,Java/Kotlin等高级语言被编译成.class字节码,之后通过dx/d8、r8等工具编译成dex文件(Dalvik字节码),打…

基于Java+SSM+Flask家庭理财系统(源码+LW+调试文档+讲解等)/家庭理财/理财系统/家庭财务/家庭财务规划/家庭账目/家庭财务软件/家庭记账/理财器具/财务多元化/资产管理。

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

.NET Conf China 2025:讲师与主题全揭秘

.NET Conf China 2025:讲师与主题全揭秘备受期待的第七届.NET中国峰会——.NET Conf China 2025,即将于11月30日在上海盛大举行。本次大会聚焦性能跃升、AI融合、跨平台开发三大核心方向,邀请了来自国内外知名科技企…