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

电子商务网站建设课后习题西安推广网络排行

电子商务网站建设课后习题,西安推广网络排行,哈尔滨 网站开发,想象力网站建设公司647 回文子串 给定一个字符串,你的任务是计算这个字符串中有多少个回文子串。 具有不同开始位置或结束位置的子串,即使是由相同的字符组成,也会被视作不同的子串。 方法一:动态规划: 采用一个二维的dp数组&#xf…

647 回文子串

给定一个字符串,你的任务是计算这个字符串中有多少个回文子串。

具有不同开始位置或结束位置的子串,即使是由相同的字符组成,也会被视作不同的子串。

方法一:动态规划:

采用一个二维的dp数组,dp的含义是从i到j(闭区间)里的字符串是否是回文串。每次进行比较,如果i和j相等,相邻,或者只差一位,此时判断的这个肯定是回文子串,如果相差2以上,内层是回文串的话,外层肯定还是回文串:注意遍历顺序,由于递推公式的影响,得从左下到右上遍历:

class Solution {
public:int countSubstrings(string s) {vector<vector<bool>> dp(s.size(), vector<bool>(s.size(), false));int result = 0;for (int i = s.size() - 1; i >= 0; i--) {  // 注意遍历顺序for (int j = i; j < s.size(); j++) {if (s[i] == s[j]) {if (j - i <= 1) { // 情况一 和 情况二result++;dp[i][j] = true;} else if (dp[i + 1][j - 1]) { // 情况三result++;dp[i][j] = true;}}}}return result;}
};

 方法二:双指针:

从内往外判断,从中心扩散到两边:

class Solution {
public:int countSubstrings(string s) {int result = 0;for (int i = 0; i < s.size(); i++) {result += extend(s, i, i, s.size()); // 以i为中心result += extend(s, i, i + 1, s.size()); // 以i和i+1为中心}return result;}int extend(const string& s, int i, int j, int n) {int res = 0;while (i >= 0 && j < n && s[i] == s[j]) {i--;j++;res++;}return res;}
};

516 最长回文子序列

给定一个字符串 s ,找到其中最长的回文子序列,并返回该序列的长度。可以假设 s 的最大长度为 1000 。

示例 1: 输入: "bbbab" 输出: 4 一个可能的最长回文子序列为 "bbbb"。

示例 2: 输入:"cbbd" 输出: 2 一个可能的最长回文子序列为 "bb"。

本题要看最长回文子序列,首先,dp数组里的值为i到j最长回文子序列的长度,递推公式要看i和j是否相等,相等的话就是里面的长度加上外面两个的长度(2),不相等的话就是分别算两个单的元素取大的,初始化时,注意要找到根基,也就是i和j相等的情况,此时初始化值为1,遍历顺序根据递推公式来看,也就是从左下往右上角遍历:

class Solution {
public:int longestPalindromeSubseq(string s) {vector<vector<int>> dp(s.size(), vector<int>(s.size(), 0));for (int i = 0; i < s.size(); i++) {dp[i][i] = 1;}for (int i = s.size() - 1; i >= 0; i--) {for (int j = i + 1; j < s.size(); j++) {if (s[i] == s[j]) {dp[i][j] = dp[i + 1][j - 1] + 2;} else {dp[i][j] = max(dp[i + 1][j], dp[i][j - 1]);}}}return dp[0][s.size() - 1];}
};

http://www.yayakq.cn/news/162611/

相关文章:

  • 网站开发+兼职挣钱吗手机网站的模板下载软件
  • 网站建设视频万网网店运营是做什么的
  • 开发一个网站需要多少时间专业做消防工程师的正规网站
  • 网站建设需要什么手续手机h5免费模板网站模板下载
  • 无锡高端网站设计公司价格怎样申请微信小程序卖货
  • 个人网站作品欣赏Linux做视频网站网速均衡
  • 南通外贸网站建设seo优化包括
  • 网站改版计划衡水龙腾网站建设
  • 网站开发 技术维护怎么部署自己的网站
  • 济宁网站建设电话什么是网络广告策划
  • o2o手机网站建设技术济南网站优化培训
  • 营销网站建设培训wordpress 新闻 通知
  • 广告做到百度第一页关键词seo优化排名公司
  • 图书馆门户网站建设总结平面设计师参考网站
  • 做响应式网站的框架兰州网站seo哪家公司好
  • 网站开发 验收周期做设计素材网站
  • 外贸电商网站制作企业微信开放平台api
  • 广州冼村地铁站几号线深圳建设银行官方网站
  • 网站的建设服务器搜索引擎营销方法主要有三种
  • 新媒体 网站建设 影视厦门本地企业网站建设
  • 网站系统怎么用要怎样建设网站
  • 营销网站建设制作做网站能接到项目工程吗
  • 长沙游戏网站开发网站里的动画是什么软件做的
  • 网站漏洞原理网站怎么做竞价推广
  • 新手引导做的差的网站网站源码破解
  • 软件系统网站建设网站导航自适应
  • 钢材销售都在哪个网站做wordpress安装包文件夹
  • 给几个那方面网站网址制作公司网站流程
  • 阿里云个人怎么免费做网站做网站工作辛苦吗
  • 那个网站上有做婚礼布场样图的鄢陵县网站