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

太原推广型网站制作百度下载安装免费

太原推广型网站制作,百度下载安装免费,营业执照解除异常收费多少钱,app手机端电子商务网站功能文章目录 一、题目二、解法三、完整代码 所有的LeetCode题解索引,可以看这篇文章——【算法和数据结构】LeetCode题解。 一、题目 二、解法 思路分析:本题仍然使用回溯算法的一般结构。加入了一个判断是否是回文串的函数,利用起始和终止索引进…

文章目录

  • 一、题目
  • 二、解法
  • 三、完整代码

所有的LeetCode题解索引,可以看这篇文章——【算法和数据结构】LeetCode题解。

一、题目

在这里插入图片描述

二、解法

  思路分析:本题仍然使用回溯算法的一般结构。加入了一个判断是否是回文串的函数,利用起始和终止索引进行判断,字符串使用引用输入, 减少传参的时间开销。将开始索引大于等于字符串长度作为终止条件,表示已经找到一个回文串的组合。此外,进一步改进算法的性能,可以建立一个查找数组,提前算出分割的子串是否为回文串,使用时直接判断即可。

在这里插入图片描述

void backtracking(参数) {if (终止条件) {存放结果;return;}for (选择:本层集合中元素(树中节点孩子的数量就是集合的大小)) {处理节点;backtracking(路径,选择列表); // 递归回溯,撤销处理结果}
}

  程序如下

class Solution {
private:vector<vector<string>> result;vector<string> path;bool isSymmetry(const string& s, const int start, const int end) {bool flag = true;for (int i = start, j = end; i <= j; i++, j--) {if (s[i] != s[j]) {flag = false;break;}}return flag;}void backtracking(const string& s, int startIndex) {if (startIndex >= s.size()) {result.push_back(path);return;}for (int i = startIndex; i < s.size(); i++) {if (isSymmetry(s, startIndex, i)) {	// 是回文串才加入结果数组string str = s.substr(startIndex, i - startIndex + 1);path.push_back(str);}else {	// 不是回文串跳过continue;}backtracking(s, i + 1);path.pop_back();}}
public:vector<vector<string>> partition(string s) {backtracking(s, 0);return result;}
};

复杂度分析:

  • 时间复杂度: O ( n ∗ 2 n ) O(n*2^n) O(n2n), n代表字符串长度。
  • 空间复杂度: O ( n 2 ) O(n^2) O(n2)

三、完整代码

# include <iostream>
# include <string>
# include <vector>
using namespace std;class Solution {
private:vector<vector<string>> result;vector<string> path;bool isSymmetry(const string& s, const int start, const int end) {bool flag = true;for (int i = start, j = end; i <= j; i++, j--) {if (s[i] != s[j]) {flag = false;break;}}return flag;}void backtracking(const string& s, int startIndex) {if (startIndex >= s.size()) {result.push_back(path);return;}for (int i = startIndex; i < s.size(); i++) { // 剪枝优化if (isSymmetry(s, startIndex, i)) {	// 是回文串才加入结果数组string str = s.substr(startIndex, i - startIndex + 1);path.push_back(str);}else {	// 不是回文串跳过continue;}backtracking(s, i + 1);path.pop_back();}}
public:vector<vector<string>> partition(string s) {backtracking(s, 0);return result;}
};int main() {string s = "aab";Solution s1;vector<vector<string>> result = s1.partition(s);for (vector<vector<string>>::iterator it = result.begin(); it != result.end(); it++) {for (vector<string>::iterator jt = (*it).begin(); jt != (*it).end(); jt++) {cout << *jt << " ";}cout << endl;}system("pause");return 0;
}

end

http://www.ds6.com.cn/news/6869.html

相关文章:

  • 企业网站建设可行性分析网络广告推广平台
  • 建设网站的内容及实现方式深圳seo推广
  • 网站站点建设中端口号的作用seo快速优化
  • 赤峰做网站公司快速网站搭建
  • 路由器做网站服务器吗开户推广竞价开户
  • 用微信微博网站来做睡眠经济南宁seo优势
  • 真的有免费做网站的公司吗杭州网站优化企业
  • 产品盘网站建设网络服务公司
  • 现在公司做网站还需要域名吗宝鸡seo排名
  • 耒阳住房与建设局网站广告关键词有哪些类型
  • 如何做网站外链搜索引擎优化的基本原理
  • 建设管理部门网站查询百度官网认证多少钱
  • 深圳华强北网站建设seo在线优化排名
  • 提高网站互动性网站如何做seo推广
  • 公司网站建设网络推广百度账户托管公司
  • 哈尔滨做设计和网站的公司吗亚洲卫星电视网参数表
  • Apple 手机网站制作优化seo方法
  • 台州市建设厅网站seo外包是什么意思
  • wordpress 医院模板下载沈阳百度快照优化公司
  • 泉州网站建设设计站长工具一区
  • 免费logo图标在线制作 设计绍兴seo排名外包
  • 汕头有哪些需要建网站的公司株洲今日头条新闻
  • google网站排名百度推广时间段在哪里设置
  • wordpress多站点 seo软文营销策划
  • 做公益网站有什么要求北京百度网讯科技有限公司
  • 响应式网站排版广州seo做得比较好的公司
  • 做燕鲍翅的网站seo关键词外包
  • 科技部网站seo承诺排名的公司
  • 新公司怎么做网站人力资源培训网
  • 广州市住房和建设局网站哈尔滨网站优化