news 2026/8/8 1:22:52

12.11 - 最长回文子串 main函数是如何开始的

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
12.11 - 最长回文子串 main函数是如何开始的

目录

1.最长回文子串

a.核心思想

b.思路

c.步骤

2.main函数是如何开始的


1.最长回文子串

5. 最长回文子串 - 力扣(LeetCode)https://leetcode.cn/problems/longest-palindromic-substring/

class Solution { public: string longestPalindrome(string s) { // 先处理特殊情况 if (s.empty()) return ""; int n = s.size(); int start = 0, maxLen = 1; auto expandAroundCenter = [&](int left, int right) { while (left >= 0 && right < n && s[left] == s[right]) { left--; right++; } // 循环结束后,实际回文范围是[left+1, right-1] int curLen = right - left - 1; if (curLen > maxLen) { maxLen = curLen; start = left + 1; } }; for (int i = 0; i < n; i++) { // 奇数长度回文 expandAroundCenter(i, i); // 偶数长度回文 if (i + 1 < n) { expandAroundCenter(i, i + 1); } } return s.substr(start, maxLen); } };

a.核心思想

遍历所有可能的子串,判断其是否为回文串,并记录最长回文子串。

b.思路

采用中心扩散法,以每个字符(或两个字符之间的间隙)为中心,向两边扩散,比较两边字符是否相同,从而找到以该中心的最长回文子串。

c.步骤

① 初始化一个变量用于记录最长回文子串的起始位置和长度。

② 遍历字符串,对于每个字符:

  • 以当前字符为中心,向左右两边扩散,找到奇数长度的最长回文子串。

  • 以当前字符和下一个字符之间的间隙为中心,向左右两边扩散,找到偶数长度的最长回文子串。

③ 比较每次找到的回文子串的长度,更新最长回文子串的记录。

④ 根据记录的起始位置和长度,从原字符串中截取并返回最长回文子串。

2.main函数是如何开始的

  1. 启动:操作系统加载程序,跳转到程序入口(通常为_start函数)。

  2. 初始化:运行时库(如CRT)执行全局变量、静态变量的构造函数初始化。

  3. 调用main:运行时库调用main()函数,开始执行用户代码。

  4. 结束:main()返回退出码,操作系统终止程序。

操作系统启动程序→运行时库初始化→自动调用main()→执行用户逻辑→返回退出码

希望这些内容对大家有所帮助!

感谢大家的三连支持!

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/7 12:09:28

ASTM D4169-DC13 标准,包装完整性

标准全称&#xff1a;Standard Practice for Performance Testing of Shipping Containers and Systems (运输集装箱和系统性能测试的标准实施规程)发布机构&#xff1a;美国材料与试验协会 (ASTM International)最新版本&#xff1a;ASTM D4169-2023e1&#xff08;2024 年 3 月…

作者头像 李华
网站建设 2026/8/7 23:36:07

Linux新手必学:tail命令图解指南

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 制作一个交互式新手教程&#xff0c;包含&#xff1a;1. tail命令基础介绍动画 2. 实时命令行模拟器 3. 渐进式练习(从查看文件末尾到实时监控) 4. 常见错误提示。使用HTMLJS实现&a…

作者头像 李华
网站建设 2026/8/8 1:07:42

19、利用Scapy和Python进行网络数据包处理与扫描

利用Scapy和Python进行网络数据包处理与扫描 1. Scapy数据包捕获与重放 Scapy具备监听网络接口并捕获所有传入数据包的能力,它可以像tcpdump一样将数据包写入pcap文件。此外,Scapy还提供了读取和重放pcap文件的额外功能。 1.1 简单数据包重放 以下是一个简单的数据包重放…

作者头像 李华
网站建设 2026/8/7 18:46:23

性能测试里MySQL的锁

这篇文章我想来聊聊 MySQL 的锁是怎么加上的&#xff0c;为啥想聊这个呢&#xff1f;主要是因为业务中我们或多或少都会使用到锁&#xff0c;毕竟锁是保障我们数据安全性的关键法宝。但是由于不了解原理&#xff0c;往往可能导致我们在”刻意“或者”无意“的使用场景下&#x…

作者头像 李华
网站建设 2026/8/7 22:12:11

OBS教程:OBS实时字幕插件如何下载?直播字幕翻译怎么弄?

OBS教程&#xff1a;OBS实时字幕插件如何下载&#xff1f;直播字幕翻译怎么弄&#xff1f;直播实时翻译软件哪个好&#xff1f;OBS实时字幕插件官方下载地址 首先介绍一下OBS实时字幕插件支持哪些功能&#xff1a; 1、将主播所说的话显示为文字&#xff0c;逐字逐句实时显示字…

作者头像 李华
网站建设 2026/8/7 8:08:20

MagicTime: Time-Lapse Video Generation Models asMetamorphic Simulators论文精读(1)

T2V的最新进展在文本描述合成高质量的一般视频方面取得了显著成功&#xff0c;但是在T2V中有一个被忽视的问题&#xff1a;没有充分编码真实世界的物理知识&#xff0c;因此生成的视频往往运动会被限制&#xff0c;变化不佳。因此本文提出了一个变形延时视频生成模型&#xff0…

作者头像 李华