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

做网站的代码难吗潍坊网站建设

做网站的代码难吗,潍坊网站建设,怎么查一个网站的备案信息,云主机 做网站给你一个字符串 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.cadmedia.cn/news/1374.html

相关文章:

  • 在线免费看影视网站seo优化师是什么
  • 贵州建设厅造价信息网站武汉seo首页优化技巧
  • 武威建设厅网站网页快照
  • 自学网站建设基本流程百度seo报价
  • 河南网站建设制作价格seo如何去做优化
  • 企业网站建设北京怎样注册自己网站的域名
  • 建设网站可以搜索电影免费b站推广短视频
  • 销售网站建设价格神马推广
  • 微信官方网站服务中心湖南网站推广公司
  • 桂林北站防疫电话免费seo
  • 品牌排名网站杭州上城区抖音seo如何
  • wordpress图文并排seo关键词排名教程
  • 深圳做网站推广的公司哪家好全网推广平台
  • 大型网站建设定制开发四川企业seo推广
  • 建设工程网站新专家入库seo博客优化
  • 建立网站的英文短语廊坊seo整站优化
  • wordpress替换图片路径宁波seo公司
  • 直播平台推荐多合一seo插件破解版
  • 如何开发一个视频网站sem是什么意思啊
  • 长春电商网站建设费用外贸网站搭建
  • 公众平台登录官网百度爱采购关键词优化
  • 游戏软件开发需要学什么专业杭州seo代理公司
  • 自己怎样学做网站网站网络排名优化方法
  • 网站微信建设运维经验东莞营销网站建设推广
  • 电子商务与网站建设网络营销是做什么的
  • 建设电子商务网站目的可以免费网络推广网站
  • 怎么把别人网站源码弄出来百度上怎么注册店铺地址
  • 深圳市建设注册执业资格中心网站网站一般需要怎么推广
  • 帮人做传销网站违法吗北京网站营销与推广
  • 网络营销方式可以分为哪几个类型?汉中网站seo