news 2026/6/10 22:47:38

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/6/10 12:42:53

【Linux 系统编程核心】进程的本质、管理与核心操作

一、进程的核心定义与本质1.1 进程是什么&#xff1f;进程是程序的一次执行过程&#xff0c;是操作系统分配内存、CPU 等资源的基本单位。简单来说&#xff1a;程序&#xff1a;存储在硬盘上的代码、数据的静态集合&#xff08;如a.out、ls命令&#xff09;&#xff1b;进程&am…

作者头像 李华
网站建设 2026/6/10 11:07:17

Selenium实战指南:用浏览器驱动轻松实现网络爬虫

Selenium 介绍 1、Selenium 是什么&#xff1f; Selenium 最初是一款用于 Web 应用程序测试的工具&#xff0c;它可以驱动浏览器执行特定操作&#xff0c;自动按照脚本代码完成点击、输入、打开页面、验证结果等一系列行为&#xff0c;就像真实用户在操作一样。 目前 Selenium …

作者头像 李华
网站建设 2026/6/9 21:09:51

10 个研究生课堂汇报 AI 工具推荐,提升效率神器

10 个研究生课堂汇报 AI 工具推荐&#xff0c;提升效率神器 论文写作的“三座大山”&#xff1a;时间、重复率与自我折磨 对于研究生来说&#xff0c;课堂汇报不仅是学术能力的体现&#xff0c;更是对研究深度和表达逻辑的综合考验。然而&#xff0c;面对繁重的课程任务、密集的…

作者头像 李华
网站建设 2026/6/10 12:18:44

终极串口调试指南:专业工程师的高效通信解决方案

终极串口调试指南&#xff1a;专业工程师的高效通信解决方案 【免费下载链接】串口助手SerialPortUtility使用说明 Serial Port Utility是一款功能强大的串口调试工具&#xff0c;以其小巧的体积和简便的操作深受用户喜爱。它支持自动刷新串口号&#xff0c;能够快速检测并连接…

作者头像 李华