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

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()→执行用户逻辑→返回退出码

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

感谢大家的三连支持!

http://www.rkmt.cn/news/83891.html

相关文章:

  • 基础数据结构:栈、队列、链表
  • Docker + 多模态Agent = 王炸组合?5个真实生产环境编排案例深度剖析
  • 如何为你的Python项目构建pyproject.toml文件
  • 基于SpringBoot的学生学习成果展示平台的实现-计算机毕业设计源码+LW文档分享
  • 护网行动关键方向深度分享:应急响应 / 云原生防护等五大领域文章 + 实战技巧,附案例拆解!
  • 你用过哪些国产实时数据库?
  • ISO20000新版标准深度解析:5大关键变化如何重塑IT服务管理
  • 离网下基于下垂控制的 T 型三电平逆变器研究
  • 运维系列Windows系列【仅供参考】:Win11暂停更新点不了怎么办?Win11暂停更新是灰色的如何解决?
  • HCNP学习第五天打卡
  • 12/10到12/11的做题总结
  • 【CI1303 离在线】观察者模式解耦
  • 数组int [ ]ints=new int[ ] { };
  • 计算机毕业设计springboot农贸市场管理系统 SpringBoot 智慧农批市场综合运营平台 SpringBoot 农产品集散中心数字管理系统
  • RPA 重塑 IT 运维:6 大核心场景解锁自动化新效能
  • day36 阅读官方文档
  • next-ai-draw-io
  • [Windows] 表白程序生成工具 v1.0
  • 终极DoublePulsar检测指南:5分钟快速发现系统后门威胁
  • JAVA安装教程 (windows版),入门第一项,小白收藏这篇就够了
  • 为什么比话能把论文的ai率降低下来?2025年降ai选比话靠谱吗?
  • GitHub访问慢、无法访问解决
  • 闫俊杰罗永浩播客访谈观点汇总 - -Watcher
  • [大模型] 解读腾讯混元大模型
  • 【稀缺技术揭秘】:微软工程师不愿公开的Azure量子作业调试技巧(基于VSCode)
  • 小红的矩阵【牛客tracker 每日一题】
  • 寫代碼總是最簡單的
  • 系统编程之进程
  • 利用 PHPStudy(Mac 版)部署 Nuxt3 node-server 模式项目完整教程
  • 负载均衡-LVS 全解析