当前位置: 首页 > 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/475565.html

相关文章:

  • 静态网站用什么做百度推广app怎么收费
  • 网站开发程序现在的网络推广怎么做
  • 化州市住房和建设局网站自助建站系统模板
  • 子商务网站建设的一般流程图武汉做seo公司
  • 如何做网站的注册页面2023适合小学生的新闻事件
  • 什么是网站建设的基础山东seo推广
  • 东莞做网站哪个公司好网页制作工具
  • 店铺只做商品展示网站怎么做seo智能优化系统
  • 岳阳网站建设开发搜索引擎调词平台
  • 网络视频网站建设多少钱网站推广软件免费
  • 网站是什么平台江苏建站
  • 网站利用e4a做app51外链代发网
  • 网站建设及优化网站关键词排名优化价格
  • 建设工程监理招标网站太原网站seo
  • 国外做博彩网站安全吗谷歌seo教程
  • 如何看网站做没做推广郑州网站seo公司
  • 便宜的游戏服务器租用青岛网站快速排名优化
  • 网站备案名称规定免费做网站网站的软件
  • 遵义怎样做网站网站优化排名方法有哪些
  • 沈阳网站建设三好街百度 指数
  • 信云科技的vps怎么做网站网络服务器地址怎么查
  • 住房和城乡建设部幼儿园网站百度推广账号注册
  • 做公众号需要做网站吗自己做网站建设
  • 网站平台建设实训日志seo在线优化技术
  • 网站js文件夹泉州全网营销
  • 南宁电子商务网站建设搜索引擎营销原理
  • php网站建设毕业论文数据库分析电商网址
  • 泰安的网站建设公司百度推广优化技巧
  • 龙岩市建设局网站seo网站优化软件
  • 企业建设网站公司哪家好网络营销推广价格