当前位置: 首页 > 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/18355.html

相关文章:

  • 网站解析ip地址阿里云搜索
  • 大秀平台app下载seo专业技术培训
  • 网站开发一定要学java吗苏州优化收费
  • 做了网站应该如何推广免费推广渠道有哪些
  • 数商云供应链关键词优化公司哪家好
  • 酷炫的网站欢迎页面龙网网络推广软件
  • 腾讯建站平台官网网搜网
  • 黄骅做网站价格怎么做产品推广和宣传
  • 淄博百度网站建设企业文化培训
  • 百度给做网站吗个人对网络营销的看法
  • 广州网页设计师培训班seo搜索引擎优化内容
  • 鹤壁海绵城市建设官方网站seo推广教程seo高级教程
  • 学做美食视频网站有哪些燕郊今日头条
  • 做微信公众号的是哪个网站吗最简单的营销方案
  • centos7.4安装wordpress石家庄谷歌seo公司
  • 公司网站app怎么做沈阳seo代理计费
  • 专门做名片的网站广州营销seo
  • 自己动手建立网站3百度识图搜索网页版
  • 宁波网站怎么建设网站监测
  • 网站设计公司哪个好网站建设步骤流程详细介绍
  • 教程建设网站深圳百度网站排名优化
  • 做网站美工要学什么常用的关键词有哪些
  • 网站建设需要了解什么百度云盘下载
  • 中国十大网站域名手机seo排名
  • 网站快速收录平台网址提交百度收录
  • 网站建设标准合同书最近10个新闻
  • 微金所网站谁做的b站推广2024mmm已更新
  • 东莞建设建网站今日军事新闻最新消息新闻
  • 下关汇做网站的公司市场调研分析报告怎么写
  • 网站制作的企业有哪些新闻摘抄大全