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

国内php开发的网站建设wordpress七牛云使用

国内php开发的网站建设,wordpress七牛云使用,设计师接私活的兼职平台,多商家商城我们可以将字符串分割成若干回文子串,返回所有可能的方案。如果将问题分解,可以表示为分割长度为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://www.dtcms.com/wzjs/809804.html

相关文章:

  • iis配置网站五莲网站制作
  • 做牙科设计的网站简单制作网页
  • 珠海网站建设方案开发阿里云网站费用吗
  • 秦皇岛找一家能建网站的公司wordpress 调用子栏目
  • 网站优化自已做还是请人做企业网站建设排名资讯
  • 北京公司网站制作价格深圳网站建设toolcat
  • 建一个在线商城网站网络规划设计师教程第四版
  • 网站建设资料 优帮云如何自己免费做网站
  • 做选择的网站中山网站建设案例
  • 专业设计网站格力电器的网站建设评价
  • 商城网站页面设计网页设计与制作教程第二版机械工业出版社答案
  • 网站群系统建设的目的网站文章采集
  • 医疗网站建设策划南阳做网站公司电话
  • 网站建设是属于软件吗哪些网站做翻译可以赚钱
  • 网站图片如何做防盗链静安区品牌网站建设
  • 有什么网站可以发布个人信息可视化网页制作工具
  • 内容管理网站dedecms仿站
  • 京东网站建设案例论文免费创建个人网站申请
  • 足彩网站建设网站备案相关手续费
  • 贵州交通建设集团网站如何建一个公司网站
  • html家乡网站设计企业如何应用网站的
  • 福州网站建设流程小程序开发前景怎么样
  • 西宁最好网站建设公司东莞市工程建设安监站网站
  • 自助网站免费注册运维管理平台
  • 企业网站怎么做htmlapp开发定制公司哪家好
  • 学校网站建设项目可行性分析资源网
  • 宁波网站建设企业网页浏览设置在哪里打开
  • 制作网页的网站网站建设的目标是什么
  • 手机网站视频无法播放是怎么回事开发公司挖出的沙子归谁
  • 官方网站开发方案滁州seo