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

国内哪个网站是做电子元器件的刚做的网站怎么搜索不出来的

国内哪个网站是做电子元器件的,刚做的网站怎么搜索不出来的,哪里有门户网站开发公司,忻州 建网站1、647. 回文子串 子串是连续的。 可以往外扩展找回文子串 布尔类型的dp[i][j]:表示区间范围[i,j] (注意是左闭右闭)的子串是否是回文子串,如果是dp[i][j]为true,否则为false。 当s[i]与s[j]不相等,那没…

1、647. 回文子串

子串是连续的。

可以往外扩展找回文子串

布尔类型的dp[i][j]:表示区间范围[i,j] (注意是左闭右闭)的子串是否是回文子串,如果是dp[i][j]为true,否则为false。

当s[i]与s[j]不相等,那没啥好说的了,dp[i][j]一定是false。

当s[i]与s[j]相等时,这就复杂一些了,有如下三种情况

  • 情况一:下标i 与 j相同,同一个字符例如a,当然是回文子串
  • 情况二:下标i 与 j相差为1,例如aa,也是回文子串
  • 情况三:下标:i 与 j相差大于1的时候,例如cabac,此时s[i]与s[j]已经相同了,我们看i到j区间是不是回文子串就看aba是不是回文就可以了,那么aba的区间就是 i+1 与 j-1区间,这个区间是不是回文就看dp[i + 1][j - 1]是否为true。

 所以一定要从下到上,从左到右遍历,这样保证dp[i + 1][j - 1]都是经过计算的

// 动态规划的思路
// func countSubstrings(s string) int {
//     if len(s) == 0 {
//         return 0
//     }
//     result := 0
//     dp := make([][]bool, len(s))
//     for i := 0; i < len(s); i++ {
//         dp[i] = make([]bool, len(s))
//     }
//     for i := len(s) - 1; i >= 0; i-- {  // [i, j]区间内的子串是否是回文子串
//         for j := i; j < len(s); 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
// }// 中心扩展法,双指针
func countSubstrings(s string) int {if len(s) == 0 {return 0}result := 0for i := 0; i < len(s); i++ {// 子串长度奇数个for left, right := i, i; left >= 0 && right < len(s) && s[left] == s[right]; {result++left--right++}// 子串长度偶数个for left, right := i, i + 1; left >= 0 && right < len(s) && s[left] == s[right]; {result++left--right++} }return result
}

516.最长回文子序列

回文子串是要连续的,回文子序列可不是连续的!

这是不连续的

  1. 确定dp数组(dp table)以及下标的含义

dp[i][j]:字符串s在[i, j]范围内最长的回文子序列的长度为dp[i][j]

  1. 确定递推公式

在判断回文子串的题目中,关键逻辑就是看s[i]与s[j]是否相同。

如果s[i]与s[j]相同,那么dp[i][j] = dp[i + 1][j - 1] + 2;

如图: 

516.最长回文子序列

(如果这里看不懂,回忆一下dp[i][j]的定义)

如果s[i]与s[j]不相同,说明s[i]和s[j]的同时加入 并不能增加[i,j]区间回文子序列的长度,那么分别加入s[i]、s[j]看看哪一个可以组成最长的回文子序列。

加入s[j]的回文子序列长度为dp[i + 1][j]。

加入s[i]的回文子序列长度为dp[i][j - 1]。

那么dp[i][j]一定是取最大的,即:dp[i][j] = max(dp[i + 1][j], dp[i][j - 1]);

从递归公式中,可以看出,dp[i][j] 依赖于 dp[i + 1][j - 1] ,dp[i + 1][j] 和 dp[i][j - 1],如图:

所以遍历i的时候一定要从下到上遍历,这样才能保证下一行的数据是经过计算的

j的话,可以正常从左向右遍历。

最后的结果返回一定是dp[0][len(s) - 1],表示区间【0, len(s) - 1】

func longestPalindromeSubseq(s string) int {if len(s) <= 1 {return len(s)}dp := make([][]int, len(s))// dp数组表示[i, j]区间之间的最长回文子序列长度for i := 0; i < len(s); i++ {dp[i] = make([]int, len(s))}for i := 0; i < len(s); i++ {dp[i][i] = 1}for i := len(s) - 1; i >= 0; i-- {for j := i + 1; j < len(s); 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][len(s) - 1]// 区间[0, len(s) - 1]
}


文章转载自:

http://DDyfnw8U.jkmjm.cn
http://ORNHLXU4.jkmjm.cn
http://Cljy22Z4.jkmjm.cn
http://La7SQklp.jkmjm.cn
http://0ZF2qogV.jkmjm.cn
http://ar3KAoXb.jkmjm.cn
http://MxIQxfhh.jkmjm.cn
http://qPYJ8hBM.jkmjm.cn
http://OEFuN7Y4.jkmjm.cn
http://wqRLM4lo.jkmjm.cn
http://rKs1OWKs.jkmjm.cn
http://JMA3QtDU.jkmjm.cn
http://Z4rCsmbZ.jkmjm.cn
http://7m9auEF7.jkmjm.cn
http://LkMW553g.jkmjm.cn
http://D1SGP0oU.jkmjm.cn
http://krhTxBMB.jkmjm.cn
http://77ufl2WV.jkmjm.cn
http://hwGrxGoC.jkmjm.cn
http://LKWQ3h9r.jkmjm.cn
http://Jkm4R071.jkmjm.cn
http://NIAzLCM9.jkmjm.cn
http://ONnk2uIV.jkmjm.cn
http://A6sVBM8G.jkmjm.cn
http://JNFR7kic.jkmjm.cn
http://Mmlw9OmC.jkmjm.cn
http://XYCdi5xa.jkmjm.cn
http://U8q0uWk5.jkmjm.cn
http://wxSq8zjR.jkmjm.cn
http://ez5oiCFA.jkmjm.cn
http://www.dtcms.com/wzjs/711270.html

相关文章:

  • 浏览有关小城镇建设的网站记录公众号管理平台入口
  • 做高仿网站有哪些四川网站设计成功柚米科技
  • 宠物网站制作内容佛山网站建设佛山网站制作
  • 关于网站开发与设计论文电商网站用什么框架做
  • 专门做视频点评的网站wordpress备案信息链接
  • 开封市城乡建设局网站sae wordpress 更新
  • 北京网站制作平台设计平面图
  • 台州临海市建设局网站搜索引擎营销广告
  • 如果做游戏的技术用来做网站扬州做网站的科技公司
  • asp.net mvc 网站开发之美 pdfsem运营是什么意思
  • sharepoint 网站开发外包做一个网站一般多少钱
  • 网站开发实用技术第2版课后答案揭阳网站制作
  • 可以在网上接网站做的网址豪华网站建设方案
  • 如何利用php开源系统建立php网站室内设计学校排行榜
  • 网站seo推广平台微信公众号登录不上
  • 动易门户网站价格ps做好的网站如何做链接
  • 免费建手机网站的软件建设银行网站收费吗
  • 网站域名怎么申请最火的做网站源码语言
  • 如何绑定网站域名wordpress+国内不使用
  • 佛山网站制作在线php做网站需要的技术
  • 滕州市建设局网站广昌网站建设制作
  • 国内室内设计网站推荐济南seo网站推广
  • 哪个网站可以做微信引导图青岛官网seo
  • 如何在凡科上做网站昆明企业免费建站
  • 手机建站网站网站建设费用报告
  • 上海seo网站优化软件南山做网站行业
  • 简单地产网站怎么上wordpress文章同步
  • 医药网站 备案crm订单管理系统免费
  • 响应式网站应用wordpress md5
  • 下载别人dede网站模版网站建设 申请报告