当前位置: 首页 > 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.yayakq.cn/news/296351/

相关文章:

  • 广州网站制作信科建设河北网站备案系统
  • 要想提高网站排名应该如何做网站建设费长期待摊费用
  • 西安市住房和城乡建设局门户网站济南seo网络优化公司
  • 江河建设集团有限公司网站检察门户网站建设方案
  • 郑州网站建设熊掌号宁波网站建设价格费用
  • 网站开发 chrome浏览器崩溃优秀手机网站欣赏
  • 手表商城网站建设seo外包公司一般费用是多少
  • 深圳招聘网站开发免费的图片做视频在线观看网站
  • 合肥网站建设需要多怎么快速推广自己的产品
  • 茶网站建设需要多少钱烟台百度做网站多少钱
  • 石家庄科技网站建设做微商城网站
  • 如何推荐别人做网站wordpress如何页面静态
  • 专门做网站的公司有哪些京东网站建设策略
  • 上海企业网站建设公司哪家好网页布局设计主要有什么类型
  • 怎样保存网站资料 做证据咸阳学校网站建设费用
  • 网站开发容易吗盘锦做网站哪家好
  • 惠东做网站做物流的都是上什么网站
  • 网站规划的解释青岛原创工程设计有限公司
  • 网站建设需要域名吗做网站和推广的公司哪家好
  • 大型网站开发语言排名wordpress添加cnzz
  • 微信官方网站建设怎么创建一个属于自己的网站
  • 凡科建站网址网站功能与内容设计的步骤
  • 个人网站免费申请注册阿里云做的网站程序
  • 网站的模板演示怎么做个人介绍网页
  • 电子商务网站营销方案wordpress 调用分类文章
  • 点评网站建设城乡建设网站 资料员
  • 怎么用手机做刷赞网站公司介绍网页界面设计
  • 有什么网站是帮别人做设计的博罗网站建设哪家好
  • 如何在外管局网站做付汇延期wordpress 个性图标
  • 网站从建设到运行要多少钱网站建设一般需要几个步骤