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

贵阳网站设计推广普通话的内容

贵阳网站设计,推广普通话的内容,漳州住房和城乡建设部网站,开个送快餐网站怎么做我们可以将字符串分割成若干回文子串,返回所有可能的方案。如果将问题分解,可以表示为分割长度为n-1的子字符串,这与原问题性质相同,因此可以采用递归方法解决。 为什么回溯与递归存在联系?在解决这个问题时&#xff0…

       

        我们可以将字符串分割成若干回文子串,返回所有可能的方案。如果将问题分解,可以表示为分割长度为n-1的子字符串,这与原问题性质相同,因此可以采用递归方法解决。

        为什么回溯与递归存在联系?在解决这个问题时,我们首先从短字符串开始构建(递的过程),当构造到最长字符串时,需要尝试其他方案(归的过程,即回溯)。

        思路一:可以将每两个字符之间的位置视为一个可选的分割点。选择或不选择每个分割点会产生不同的字符串组合。例如,在示例一中,这种思路会产生四种不同的分割方案。

                ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​

       

        关于递归边界条件的写法:使用下标i表示当前位置。当i达到字符串长度时,说明分割完成,此时将当前方案存入ans列表。

对于非边界情况:

  1. 选择当前位置作为分割点:

    • 若当前子串是回文,则将其加入临时方案path
    • 递归处理i+1位置
    • 递归完成后需恢复现场,弹出path最后一个元素(回溯操作)
  2. 不选择当前位置作为分割点:

    • 直接递归处理i+1位置
class Solution {
public:vector<vector<string>> ans;vector<string> path;bool isPalindrome(string s,int left,int right) {while (left < right) {if (s[left++] != s[right--]) {return false;}}return true;}void dfs(int i,int n,string& s,int start) {if (i == n) {ans.emplace_back(path);return;}if (i < n - 1) dfs(i + 1,n,s,start);if(isPalindrome(s,start,i)) {path.push_back(s.substr(start,i - start + 1));dfs(i + 1,n,s,i + 1);path.pop_back();}}vector<vector<string>> partition(string s) {dfs(0,s.size(),s,0);return ans;}
};

        思路二,答案的视角(枚举子串的结束位置)

        我们以子串的结束位置j为基准,将当前回文子串加入候选路径,然后递归处理从j+1到n-1位置的剩余字符串分割问题。

class Solution {
public:vector<vector<string>> ans;vector<string> path;bool isPalindrome(string s,int left,int right) {while (left < right) {if (s[left++] != s[right--]) {return false;}}return true;}void dfs(int i,int n,string& s) {if (i == n) {ans.emplace_back(path);return;}for(int j = i;j < n;j++) {if (isPalindrome(s,i,j)) {path.push_back(s.substr(i, j - i + 1));dfs(j + 1,n,s);path.pop_back();}}}vector<vector<string>> partition(string s) {dfs(0,s.size(),s);return ans;}
};

        时间复杂度:O(n*2^n),递归次数为逗号的子集的个数,也就是2^n,在判断是否是会回文需要O(n)时间所以,总时间为O(n2^n)

        空间复杂度:O(n)


文章转载自:

http://tsmH63A4.kfLzy.cn
http://odqnZwsZ.kfLzy.cn
http://16GTbNYV.kfLzy.cn
http://TmygwVR6.kfLzy.cn
http://sEP0Ed1b.kfLzy.cn
http://drYY0xZg.kfLzy.cn
http://YuEka1k0.kfLzy.cn
http://drQz3fE4.kfLzy.cn
http://hSsX1Kam.kfLzy.cn
http://TOv6X8H3.kfLzy.cn
http://kA3racMS.kfLzy.cn
http://Nrk520Di.kfLzy.cn
http://1g2WExD1.kfLzy.cn
http://lMe8GuPu.kfLzy.cn
http://qTeVtLnZ.kfLzy.cn
http://ymGDP9UG.kfLzy.cn
http://ZID6QpVa.kfLzy.cn
http://CFwIY9Rq.kfLzy.cn
http://mW9BQXKI.kfLzy.cn
http://hwqLp7Ja.kfLzy.cn
http://6KueziWo.kfLzy.cn
http://InE8N6ep.kfLzy.cn
http://BzOdMvm8.kfLzy.cn
http://V4s7pqbA.kfLzy.cn
http://FTqp2izX.kfLzy.cn
http://naifjk1V.kfLzy.cn
http://xm5xtP1w.kfLzy.cn
http://gem75tEf.kfLzy.cn
http://flYEgvCY.kfLzy.cn
http://5kl9unBD.kfLzy.cn
http://www.dtcms.com/wzjs/676457.html

相关文章:

  • 泰安房产网签住宅常用的seo网站优化排名
  • 湖南3合1网站建设一个网站如何做盈利
  • 阿里云网站域名证书免费网站建设必找186一6159一6345
  • 做查询网站有哪些网站上做扫一扫
  • 可以做超大海报的网站阿里云网站建设素材
  • 家具设计网站大全wordpress 去掉分类
  • 网络营销推广方法集锦大连seo外包公司
  • 最近一周新闻无锡网络优化推广公司
  • 迪庆州住房和城乡建设局网站华为云云速建站
  • 螺栓球网架seo常用的工具
  • wp网站模板安装网站开发售后工作
  • 福州网站建设哪家强网站开发项目扶持政策有哪些
  • 协会网站开发网站建设的领军 18年网站建设
  • 如何建一个个人网站求职网站开发
  • 河南郑州做网站汉狮丹东有做公司网站的吗
  • 自助建站源码下载论坛源码
  • 做网站卖广告网站空间托管合同 .doc
  • 陵水网站建设哪家专业html5网站开发实例教程
  • 宝安网站设计网站平台建设方案的难点重点
  • 软件科技公司网站模板创意营销案例
  • 域名怎么做网站内容谢岗仿做网站
  • 网站建设后如何放在网上app开发价格要多少钱
  • 网站投放孝昌建设局网站
  • 自己怎样用手机建网站wordpress主题兜
  • 网站建设和维护人员职责上海建科工程咨询有限公司
  • 柯林自助建站搜索引擎优化的概念是什么
  • 建设局哪个网站查证太仓建设工程信息网站
  • 艺客网站首页amz123
  • 网站建设ningqueseo电商是干什么工作的
  • 免费免费建站建设网站定位分析