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

电商设计师需要掌握什么技能网站优化排名金苹果系统

电商设计师需要掌握什么技能,网站优化排名金苹果系统,第六感聊城网站建设,做网站的品牌公司647. 回文子串 题目链接/文章讲解/视频讲解&#xff1a;代码随想录 1.代码展示 //647.回文子串 int countSubstrings(string s) {//step1 构建dp数组&#xff0c;明确dp数组的含义&#xff0c;dp[i][j]的含义是在下标为i和j区间内的字串是否为回文串vector<vector<bool&…

 647. 回文子串

题目链接/文章讲解/视频讲解:代码随想录

1.代码展示

//647.回文子串
int countSubstrings(string s) {//step1 构建dp数组,明确dp数组的含义,dp[i][j]的含义是在下标为i和j区间内的字串是否为回文串vector<vector<bool>> dp(s.size(), vector<bool>(s.size(), false));//step2 构建状态转移方程//当s[i] != s[j]时,此时必定不为回文子串//当s[i] == s[j]时,有三种情况//情况一:i = j,此时就是本身,因此必定为回文子串//情况二:i + 1 = j,此时就如aa的形式,因此也是回文子串//情况三:j > i + 1,此时当dp[i + 1][j - 1]为回文字串时,dp[i][j]才是回文子串//step3 初始化dp数组,都为false//step4 开始遍历int nResult = 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) {nResult++;dp[i][j] = true;}else if (dp[i + 1][j - 1]){nResult++;dp[i][j] = true;}}}}return nResult;
}

 2.本题小节

        思考:本题的重点在于对于dp[i][j]的理解,dp[i][j]的含义是在下标为i和j区间内的字串是否为回文串。构建状态转移方程,当s[i] != s[j]时,此时必定不为回文子串;当s[i] == s[j]时,有三种情况
 ,情况一,i = j,此时就是本身,因此必定为回文子串, 情况二,i + 1 = j,此时就如aa的形式,因此也是回文子串,情况三:j > i + 1,此时当dp[i + 1][j - 1]为回文字串时,dp[i][j]才是回文子串;初始化都为false,最后注意遍历顺序,先下后上,先左后右。

        基本思路:注意理解dp[i][j]的含义,按照代码的思路来即可。

516.最长回文子序列

题目链接/文章讲解/视频讲解:代码随想录

1.代码展示

//516.最长回文子序列
int longestPalindromeSubseq(string s) {//step1 构建dp数组,dp[i][j]的含义是在[i,j]下标的范围内s的最长回文子序列vector<vector<int>> dp(s.size(), vector<int>(s.size(), 0));//step2 状态转移方程//当s[i] == s[j],dp[i][j] = dp[i + 1][j - 1] + 2,//不等时,有两种情况,说明同时加入s[i],s[j]不能满足情况,分别加入s[i]和s[j]试试//则dp[i][j] = max(dp[i][j - 1], dp[i + 1][j])//step3 初始化for (int i = 0; i < s.size(); i++) {dp[i][i] = 1;}//step4 开始遍历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][j - 1], dp[i + 1][j]);}}}return dp[0][s.size() - 1];
}

 2.本题小节

        思考:明确dp数组的含义。dp[i][j]的含义是在[i,j]下标的范围内s的最长回文子序列。状态转移方程,当s[i] == s[j],dp[i][j] = dp[i + 1][j - 1] + 2,不等时,有两种情况,说明同时加入s[i],s[j]不能满足情况,分别加入s[i]和s[j]试试,则dp[i][j] = max(dp[i][j - 1], dp[i + 1][j]),初始化时对角线都为1,根据dp数组可以得。遍历时先下后上,先左后右。

        基本思路:注意dp数组的含义,按照动态规划步骤来。

动态规划总结:代码随想录

http://www.ritt.cn/news/3759.html

相关文章:

  • 怎样访问简版网站关键词数据分析工具有哪些
  • 网站的透明图片怎么做怎么请专业拓客团队
  • 有道翻译网站 做翻译百度投流运营
  • 饮料企业哪个网站做的比较好seo同行网站
  • 做网站和推广工资多少现在阳性最新情况
  • 如何做企业网站英文外链代发
  • 做网站能挣钱吗有效的网站推广方式
  • 厦门个人网站建设软文写作技巧及范文
  • 公司域名注册后怎么建设网站浙江百度查关键词排名
  • 网站设计的基本过程自学seo能找到工作吗
  • 济南多语言网站建设合肥今天的最新消息
  • 网站建设的源代码有什么作用网站推广的常用途径有哪些
  • 武汉电子商务公司有哪些seo诊断分析在线工具
  • 怎么进入企业的网站磁力屋torrentkitty
  • 课程网站模板活动营销推广方案
  • 做ppt模板的网站企业文化内容范本
  • 做微网站公司名称淘宝排名查询工具
  • 泸州做网站公司外贸网站营销推广
  • 易托管建站工具seo在线优化网站
  • 中国做铁塔的公司网站优化建站
  • 加盟网站制作发布新闻
  • 江西网站建设公司温州seo团队
  • 政府门户网站建设规范深圳开发公司网站建设
  • 流量网站怎么盈利seo关键词优化报价
  • 建设网站人员名单seo优化工具哪个好
  • 网站建设带购物车顶尖文案
  • 做优化网站注意什么怎么做百度网页
  • 网站的工作简报怎么做seo网站优化工具大全
  • 国产做爰网站百度关键词自然排名优化公司
  • 网站备案资料下载免费技能培训在哪里报名