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

酒店品牌策划方案台州优化排名推广

酒店品牌策划方案,台州优化排名推广,和建设银行类似的网站,沁水做网站给你一个字符串 s,找到 s 中最长的 回文 子串。 示例 1: 输入:s "babad" 输出:"bab" 解释:"aba" 同样是符合题意的答案。示例 2: 输入:s "cbbd" 输…

给你一个字符串 s,找到 s 中最长的 回文 子串。

示例 1:

输入:s = "babad"
输出:"bab"
解释:"aba" 同样是符合题意的答案。

示例 2:

输入:s = "cbbd"
输出:"bb"

提示:

  • 1 <= s.length <= 1000
  • s 仅由数字和英文字母组成

 答案:

char* longestPalindrome(char* s) { // leeCode 5.最长回文子串size_t len = strlen(s);// 如果字符串长度大于2,如果它是回文串,则去掉头和尾仍然是回文串,所以可以推导公式。// 设 f(i,j) 表示字符串的子串s[i - j]是否为回文串,公式推导如下:// 当j == i时,即只有一个字符, f(j, j) 为true// 当j - i = 1,  f(i,j)结果取决于s[i] == s[j]// 当j - i > 1,  f(i,j) == s[i] == s[j] && f(i + 1, j - 1)// 定义好数据结构,用一个二维数组存放各个f(i,j)的判断结果: 1为真,0为假// f指向int* 数组的第一个元素, 数组中每个指针为一个一维数组的首地址。最终求f[i][j]为true时表示的最长字串。int** f = (int**)malloc(sizeof(int*) * len);if (f == NULL) {fprintf(stderr, "malloc return null");exit(EXIT_FAILURE);}for (int i = 0; i < len; i++) {// f[i] 保存的是一维数组的首地址f[i] = (int*) malloc(sizeof(int) * len);if (f[i] == NULL) {fprintf(stderr, "malloc return null");exit(EXIT_FAILURE);}}// 循环遍历字串,注意遍历顺序,确保能按顺便推导出结果,即计算f[i][j]时,要保证前面已经计算过f[i + 1][j - 1]的值int m = 0, n = 0, maxLen = 1;for (int j = 0; j < len; j++) {for (int i = 0; i <= j; i++) {if (i == j) {f[i][j] = 1;}else if (j - i == 1) {f[i][j] = s[i] == s[j] ? 1 : 0;}else {f[i][j] = (s[i] == s[j] && f[i + 1][j - 1]) ? 1 : 0;}if (f[i][j] && j - i + 1 > maxLen) {m = i;n = j;maxLen = j - i + 1;}}}// 释放内存for (int i = 0; i < len; i++) {free(f[i]);}free(f);char* res = (char*)malloc(sizeof(char) * (maxLen + 1)); // 字符串结束标志‘\0’也占一个位置if (res) {memcpy(res, &s[m], maxLen);res[maxLen] = '\0';}else {fprintf(stderr, "malloc return null");exit(EXIT_FAILURE);}return res;
}

测试代码:

void testLeeCode5() {char str[] = {'b', 'a', 'b', 'a', 'd', '\0'};char* res = longestPalindrome(str);printf("longestPalindrome(%s): %s\n", str, res);free(res); // 动态分配的内存需要释放
}

打印结果:

ok, 代码提交到LeeCode:

ok, 性能好像不怎么优秀,没看出为啥

http://www.dtcms.com/wzjs/228404.html

相关文章:

  • 网站建设做网站费用百度搜索一下百度
  • 单仁资讯做网站怎样网站seo主要是做什么的
  • 专业公司网站建设服务公司管理培训
  • 鲜花品牌网站建设广州网站推广
  • 线上做笔记的网站百度热线人工服务电话
  • 昆山高端网站建设咨询成人计算机速成培训班
  • 企业网络推广如何做seo推广排名平台有哪些
  • wordpress酷站企业文化的重要性
  • 做批发的有哪些网站小程序定制开发
  • wordpress切换主题出现白屏seo优化中商品权重主要由什么决定
  • 西安单位网站制作2024年瘟疫大爆发
  • 传媒公司怎么套路新人搜索引擎优化面对哪些困境
  • 在线制作视频seo 资料包怎么获得
  • 做外贸网站用哪些小语种网级移动营销app下载
  • 石家庄城乡建设网站seo优化一般包括哪些内容()
  • 做宣传页的网站seo优化方案项目策划书
  • 长沙最好网站建设谷歌seo 优化
  • 做网站需要的合同短视频seo营销系统
  • 高端大气装饰公司网站源码 百度网盘网店推广
  • 手机界面app界面设计分析西安seo培训机构
  • 重庆网站建设制作费用搜索风云榜百度
  • 网站建设品牌推荐百度搜索优化平台
  • 海南门户网站开发公司pc端网页设计公司
  • 网站 被攻击_主业篡改 被黑了 织梦做的站厦门人才网唯一官网招聘
  • 福州网站建设服务商舆情通
  • 怎样做淘宝客网站网络营销推广公司
  • 从零开始做网站数据库网站关键词优化应该怎么做
  • 济南建筑公司实力排名天津seo推广优化
  • 想开发一个旧物交易网站应该怎么做种子搜索引擎 磁力天堂
  • 贵德县公司网站建设营销型网站重要特点是