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

网站升级维护百度站长工具综合查询

网站升级维护,百度站长工具综合查询,广州网站建设开发公司,衡水网站建设网络公司文章目录 一、题目二、解法三、完整代码 所有的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.ritt.cn/news/5028.html

相关文章:

  • api接口开放平台seo中文意思
  • 网站构建的友情链接怎么做网络舆情监测专业
  • 岳阳仲裁委员会网站建设新增seo的搜索排名影响因素主要有
  • 简单的网站设计图河南网站seo靠谱
  • 企业门户网站 php网站排名查询工具
  • cms做静态网站互联网的推广
  • 封开网站建设公司上海今天最新新闻10条
  • 购物网站系统设计关键词在线播放免费
  • 物联网是什么郴州网站seo
  • 企业做网站做什么科目免费企业网站建设流程
  • wordpress备份文件在哪上海比较好的seo公司
  • 卖产品的网站怎么做上海职业技能培训机构一览表
  • 医疗器械有哪些产品南宁网站建设优化服务
  • 英文外贸网站制作seo运营是做什么的
  • 网络维护的基本内容有哪些长沙建站seo公司
  • 网站架设郑州网站制作公司
  • 备案网站服务内容桂平seo快速优化软件
  • 广州专业网站建设公司排名seo怎么样
  • 撤销网站备案百度搜索网址大全
  • 怎么给自己的网站做优化遵义网站seo
  • h5怎么制作进入下一页长沙企业关键词优化
  • 公司做网站所上传的产品图片友情连接
  • 网站安全检测网站湖北网站设计
  • 专业长春网站建设网站长推荐产品
  • web网站开发工作流程表官方百度app下载
  • 做wordpressseo搜索引擎优化名词解释
  • wordpress建站导航自贡网站seo
  • wordpress建网站的优点seo优化评论
  • 小网站做几个关键词网站优化推广的方法
  • 请人做网站注意事项如何做一个网站