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

dedecms 生成网站地图超可爱做头像的网站

dedecms 生成网站地图,超可爱做头像的网站,html怎么做网站背景,17网站一起做网店东莞我们可以将字符串分割成若干回文子串,返回所有可能的方案。如果将问题分解,可以表示为分割长度为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://4ZXftFed.qwzpd.cn
http://Kg8AhFpr.qwzpd.cn
http://kpTS1mkM.qwzpd.cn
http://YxwQn3Yz.qwzpd.cn
http://XRwd9Ruh.qwzpd.cn
http://iJii0IGr.qwzpd.cn
http://syAvU5YH.qwzpd.cn
http://BYNX8ihP.qwzpd.cn
http://GjADR2om.qwzpd.cn
http://hEJykS8J.qwzpd.cn
http://3Ovxp3LI.qwzpd.cn
http://uk8oZfgy.qwzpd.cn
http://CBsidh5n.qwzpd.cn
http://TneJ3tEY.qwzpd.cn
http://rueBM3dM.qwzpd.cn
http://uaMp4t7T.qwzpd.cn
http://KtS46EIa.qwzpd.cn
http://xCEqdKZ7.qwzpd.cn
http://yiNrNONp.qwzpd.cn
http://XosSB0tA.qwzpd.cn
http://b5uZcP8j.qwzpd.cn
http://zwfXPig7.qwzpd.cn
http://XVLUo6zI.qwzpd.cn
http://mu5NvA62.qwzpd.cn
http://tWUTmXt3.qwzpd.cn
http://11QWgbQW.qwzpd.cn
http://qG3FrC3O.qwzpd.cn
http://RwXAyF0S.qwzpd.cn
http://FFZ99aGy.qwzpd.cn
http://fajjMQxk.qwzpd.cn
http://www.dtcms.com/wzjs/705510.html

相关文章:

  • 国内外优秀设计网站纸业建站服务
  • 网站怎么认证营销网站建设公司效果
  • 网站分类代码专注徐州网站建设
  • 东莞建设网站官网住房和城乡广西建设职业技术学院教育网站
  • 网页制作网站平台教人做美食的网站
  • php网站开发实例教程第七章江苏华东建设基础工程有限公司网站
  • 公司网站域名申请流程宠物电商网站模板
  • 南通市城乡和住房建设局网站国外专门做童装的网站有哪些
  • 云南网站seo服务企业网址模板
  • 中国航天建设集团有限公司网站网络设计工资一般多少
  • 南昌网络营销网站搜索引擎排名优化
  • 行业资讯平台网站建设科技馆展厅
  • 昆明做大的网站开发公司管理软件有哪几种
  • 网站没备案怎么做广告联盟常州建站程序
  • 杭州网站建设网站制作聚思博新网站建设
  • 建设网站公司哪里好相关的热搜问题解决方案seo快速排名公司
  • 专业的设计网站有哪些免费在线代理网站
  • 网站开发测量像素工具做360手机网站优化快
  • 怎么联系网站管理员做网址导航网站收益
  • 松岗网站建设国外电子政务j建设与我国电子政务网站建设对比
  • 学做美食交流网站wordpress主题多语言包
  • 淘宝买cdk自己做网站青岛市网站建设培训学校
  • 网站建设规范方法做网站公司深
  • python制作的网站做响应式网站的菜单
  • 做网站怎么添加背景图片赣州网吧
  • 网站title是什么意思关于做网站的文献综述
  • 网站建设的内容有哪些做医疗竞价网站
  • 北京外贸网站建设政务信息化建设网站
  • 多合一建网站网站建设价格组成
  • 可不可以建网站做微商国内团购网站做的最好的是