news 2025/12/30 11:28:26

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进行投诉反馈,一经查实,立即删除!
网站建设 2025/12/24 6:55:04

Wan2.2-T2V-A14B在政府公益宣传片中的合规性使用指南

Wan2.2-T2V-A14B在政府公益宣传片中的合规性使用指南引言 你有没有想过&#xff0c;一条关于“节约用水”的公益短片&#xff0c;从文案到成片只需几分钟&#xff1f;不是剪辑老素材&#xff0c;也不是套模板——而是AI直接生成画面&#xff1a;阳光洒在小区阳台上&#xff0c;…

作者头像 李华
网站建设 2025/12/26 17:19:38

震撼!山东牛蒡酒最新排名出炉,榜首竟是它!

震撼&#xff01;山东牛蒡酒最新排名出炉&#xff0c;榜首竟是它&#xff01;引言近年来&#xff0c;随着消费者对健康饮品需求的不断增加&#xff0c;牛蒡酒作为一种独特的保健酒品&#xff0c;逐渐在市场上崭露头角。山东作为中国牛蒡的主要产地之一&#xff0c;其牛蒡酒品牌…

作者头像 李华
网站建设 2025/12/24 18:52:31

基础数据结构:栈、队列、链表

文章目录栈核心操作练习题队列核心操作练习题链表核心操作栈 先进后出 栈是一种限制访问端点的线性表&#xff0c;它只允许在表的一端进行插入和删除操作。这一端被称为栈顶&#xff0c;另一端称为栈底 就如同一个杯子&#xff0c;杯子的顶端相当于栈顶&#xff0c;底端就相…

作者头像 李华
网站建设 2025/12/24 17:54:15

JVM 运行时数据区的各个组件分别存储什么内容

以 Java 8 为背景,系统、清晰地为你讲解 JVM(Java Virtual Machine)运行时数据区的各个组件分别存储什么内容,并重点剖析 堆(Heap) 的作用,辅以实际代码说明。 一、Java 8 中 JVM 内存结构概览 在 Java 8 中,JVM 的运行时数据区主要包括以下五个部分: 堆(Heap) ✅…

作者头像 李华
网站建设 2025/12/24 18:21:03

虚拟仿真教学的困境与挑战

随着信息技术的不断进步&#xff0c;虚拟仿真教学已成为现代教育变革的重要推动力。它通过模拟真实场景&#xff0c;为学生提供沉浸式学习体验&#xff0c;极大地提升了教学互动性和实效性。然而&#xff0c;在广泛应用过程中&#xff0c;虚拟仿真教学也暴露出诸多困境与挑战&a…

作者头像 李华
网站建设 2025/12/26 4:53:20

西城微科手提秤PCBA方案:精准便携背后的技术核心与全场景赋能

在物流快递、仓储盘点、户外作业、商业零售等众多场景中&#xff0c;手提秤以其便携灵活的特性成为不可或缺的计量工具。消费者与企业用户对其核心诉求高度一致&#xff1a;高精度测量、稳定可靠运行、长久续航能力以及小巧的体积设计。西城微科深耕电子衡器领域近二十年&#…

作者头像 李华