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

订做网站策划可免费下载的ppt模板

订做网站策划,可免费下载的ppt模板,山东省青州市建设局网站,北京推广网站文章目录 一、题目二、解法三、完整代码 所有的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.yayakq.cn/news/559308/

相关文章:

  • 简诉网站建设的基本流程图wordpress注册教程视频
  • 中山seo建站网站备案跟域名有什么关系
  • 做英文网站要多少钱室内设计效果图网站推荐
  • 免费搭建博客网站能免费观看所有电视剧的app
  • 吉林省城乡建设官方网站今天进京最新通知
  • 焦作网站设计seo专业培训需要多久
  • icp备案查询站长工具电商网站建站
  • 简述网站建设和推广评价指标瀑布流响应式网站模板
  • 资兴市住房和城乡建设局网站生物医药网站建设
  • 免费做公众号的网站无代码开发原理
  • 网站改版seo方案做网站需要看的书
  • 自己做的网站能被别人看到吗电子商务作业做网站
  • 美食网站建设的背景浅析小型企业网站的建设
  • 官方网站重要性光明新区住房和建设局网站
  • 优秀北京网站建设网站建设哪家稳妥
  • 手机网站 asp建设银行 嘉定 网站
  • 长春建站模板展示南京做网站的公司有哪些
  • 有没有免费做网站的google 网站推广
  • 北京网站设计浩森宇特wordpress win调试
  • 成都搭建企业网站appcms程序怎么做网站
  • 辽宁省建设工程信息网官网新网站入口房产类网站制作商
  • 网站建设项目组织图大丰网站设计公司
  • 太原自助建站常宁网站制作
  • 怎样做销售产品网站网站首页被降权
  • 广东佛山网站建设h5招聘模板免费
  • 江苏品牌网站建设电子商务网站建设与管理试卷
  • 深圳网页设计制作网站营销推广ppt
  • 网页制作素材网站wordpress修改摘要字数
  • 寿县网站建设响应式网站建设流程
  • 免费建网站可以找哪家英文网站网站弹出窗口js