如题:代码返回最大的回文子串,长度一样返回第一个。
空间效率O(1)
时间效率O(N)(一边遍历搞定)

#include <stdio.h>char* answer;char* maxPalindrome( const char *s )
{bool hasStart = false;int startPos = 0, max = 1, maxStart = 0, maxEnd = 0;for( int i=1; s[i]!='\0'; i++ ){if( !hasStart ){if( s[startPos]==s[i] ){if( i-startPos>max ){max = i-startPos;maxStart = startPos;maxEnd = i;}continue;}}if( startPos>0 && s[startPos-1]==s[i] ) //李文文指出此处要先检查startPos>0{startPos--;hasStart = true;}else{if( hasStart==true )startPos = --i;elsestartPos = i;hasStart = false;}if( startPos<=0 || i-startPos+1>max ){max = i-startPos;maxStart = startPos;maxEnd = i;}}int length = maxEnd-maxStart+1;answer = new char[length+1];for( int i=0; i<length; i++ ){answer[i] = s[i+maxStart];}answer[length] = '\0';return answer;
}int main()
{char s[10][100] = { "aigbcddcbgaaaaaaaa","aigbcddcbggggggggg","aaaaa","aaaaaa","aaaaaaaigbcddcbgiaaaaaaa","a"};for( int i=0; i<6; i++ )printf( "%s\n", maxPalindrome(s[i]) );
}

这个自己理解吧,我也不多说了没什么难度。欢迎反馈各种错误 输入例子。

笔试——字符串算法题——寻找最大回文子串相关推荐

  1. leetcode算法题--最长回文子串

    题目链接:https://leetcode-cn.com/problems/longest-palindromic-substring/ 相关题目:最长回文子序列 动态规划 dp[i][j]表示从i到 ...

  2. 统计5个字符串回文个数c语言,第一章 字符串 – 1.5 最长回文子串 - 编程之法:面试和算法心得...

    最长回文子串 题目描述 给定一个字符串,求它的最长回文子串的长度. 分析与解法 最容易想到的办法是枚举所有的子串,分别判断其是否为回文.这个思路初看起来是正确的,但却做了很多无用功,如果一个长的子串包 ...

  3. [Leedcode][JAVA][第5题][最长回文子串][数组][动态规划]

    [问题描述][第5题][最长回文子串][中等] 给定一个字符串 s,找到 s 中最长的回文子串.你可以假设 s 的最大长度为 1000.示例 1:输入: "babad" 输出: & ...

  4. [动态规划|字符串] leetcode 5 最长回文子串

    [动态规划|字符串] leetcode 5 最长回文子串 1.题目 题目链接 给定一个字符串 s,找到 s 中最长的回文子串.你可以假设 s 的最大长度为 1000. 示例1: 输入: "b ...

  5. (算法)最长回文子串

    题目: 求一个字符串的最长回文子串 思路: 1.暴力枚举 最容易想到的就是暴力破解,列举每一个子串,然后根据回文的定义判断是不是回文,找到最长的那个. 求每一个子串的时间复杂度为O(N^2),判断子串 ...

  6. leetcode算法题--最长回文子序列★★

    原题链接:https://leetcode-cn.com/problems/longest-palindromic-subsequence/ 注意不是回文子串,子串必须是连续! dp[i][j]表示字 ...

  7. 字符串系列之最长回文子串

    2019独角兽企业重金招聘Python工程师标准>>> 问题描述:     给定一个字符串S=A1A2...An,要求找出其最长回文子串(Longest Palindromic Su ...

  8. 算法-两最长回文子串

    题目 给定一个字符串 s,找到 s 中最长的回文子串.你可以假设 s 的最大长度为1000. 示例 1:输入: "babad" 输出: "bab" 注意: &q ...

  9. 如何找到字符串中的最长回文子串?

    作者 | channingbreeze 责编 | 胡巍巍 小史是一个应届生,虽然学的是电子专业,但是自己业余时间看了很多互联网与编程方面的书,一心想进BAT互联网公司.可是努力了很久,别说BAT了,连 ...

  10. Manacher's algorithms(马拉车算法)最长回文子串

    最长回文子串 https://leetcode-cn.com/problems/longest-palindromic-substring/ 给定一个字符串 s,找到 s 中最长的回文子串.你可以假设 ...

最新文章

  1. 帆软所有销量为0的显示为空值_市场上最流行的9款跨境电商亚马逊销量预估工具精准度报告详解!...
  2. 独家 | 谷歌医学AI在生活中的精确度(附链接)
  3. gradle仓库配置
  4. 机器学习算法基础——决策树和随机深林
  5. [CareerCup] 13.10 Allocate a 2D Array 分配一个二维数组
  6. 有状态服务和无状态服务的区别与联系
  7. C++学习笔记:(七)C语言实现面向对象编程
  8. RedHat Linux AS4 LAMP经典网站搭建实例
  9. 2015年Devoxx比利时–最后的想法
  10. 操作系统进程学习(Linux 内核学习笔记)
  11. LeetCode 836. 矩形重叠
  12. android listview 自适应列宽_Android 开发技术周报 Issue#272
  13. 破解"中国裁判文书网"App加密过程
  14. 各种浏览器网页背景颜色护眼设置
  15. wordcloud库应用-《唐诗三百首》词云图详解
  16. Android聊天室
  17. 亲自体验跑跑卡丁车2010年魔改单机版(附安装包)
  18. 图形化生物软件专题(4):MEGAN
  19. 计算机u盘打不开怎么办,u盘打不开怎么办
  20. spring boot控制AD域 报错解决

热门文章

  1. npm安装vue报错:npm ERR! code ETIMEDOUT
  2. vue两列数据 合并成一列
  3. Oracle 多行显示在一行详解(listagg)
  4. B站视频下载器推荐(简单又好用)
  5. SAR图像去噪算法汇总
  6. 环境和社会风险分类c类_工程风险等级划分标准
  7. 智慧农业项目建设体系之精准饲喂系统及数据分析
  8. 如何删除360浏览器的桔梗导航
  9. Go初体验-实现平方根函数
  10. 正大国际期货:水泥价格罕见急跌!两个月跌超100元/吨 会不会影响房价?