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

都有哪些js素材网站国内好的seo

都有哪些js素材网站,国内好的seo,黔东南网站设计公司,宝格丽网站建设策划案目录 题目描述输入输出示例及数据范围思路C 实现 题目描述 这道题目来自 LeetCode 131. 分割回文串。 题目描述如下: 给你一个字符串 s,请你将 s 分割成一些子串,使每个子串都是 回文串 。返回 s 所有可能的分割方案。 输入输出示例及数据…

目录

  • 题目描述
  • 输入输出示例及数据范围
  • 思路
  • C++ 实现

题目描述

这道题目来自 LeetCode 131. 分割回文串。

题目描述如下:

给你一个字符串 s,请你将 s 分割成一些子串,使每个子串都是 回文串 。返回 s 所有可能的分割方案。

输入输出示例及数据范围

在这里插入图片描述

思路

这道题的类型被归为回溯,实际上这道题目并不是一步回溯就能够解决的,在回溯之前,我们需要先对整个字符串进行预处理。

这道题目的要求是让我们对原字符串进行分割,分割的结果是若干个子串,且每个子串都是回文串。

那么我们解决这道题目的思路就是,对于子串s[i...j],加入它是回文串,就把它加入到答案当中,假定字符串的长度为n,我们现在要进一步解决的问题是寻找s[j+1...n]的子串,进行分割,并将结果加入到答案当中。

当然,我们可以简单地使用双指针不断地枚举子串的范围,并判断范围内的子串是否是回文串,但是显然这种解法的时间复杂度过高。

一个更快的思路是,首先我们使用 dp 对回文串进行预处理,新开一个二维数组f,如果f[i][j] == true,则表明子串s[i...j]是回文串,此时可以将子串s[i...j]加入到答案当中,下一次回溯从j+1开始。

C++ 实现

class Solution {
public:vector<vector<string>> ans;vector<vector<bool>> f;vector<string> curr;int n;void solve(string &s, int i) {if(i == s.size()) {ans.push_back(curr);return;}for(int j=i; j<n; j++) {if(f[i][j]) {curr.push_back(s.substr(i, j - i + 1));solve(s, j + 1);curr.pop_back();}}}vector<vector<string>> partition(string s) {n = s.size();f.assign(n, vector<bool>(n, true));for(int i=n-1; i>=0; i--) {for(int j=i+1; j<n; j++) {	// 对回文串进行预处理f[i][j] = (s[i] == s[j]) && f[i + 1][j - 1];}}solve(s, 0);return ans;}
};
http://www.fp688.cn/news/156709.html

相关文章:

  • 东莞公司建站哪个更便宜域名信息查询网站
  • 委托做网站违反广告法代码优化
  • 东莞网站排名优化公司搜索百度app下载
  • 学做网站看什么超级外链工具有用吗
  • 广州微信网站建设平台seo网站排名优化软件
  • 展厅设计策划方案网站关键词优化报价
  • 网站访问流程在线之家
  • 专题网站策划书软文广告案例500字
  • 怎么通过淘宝优惠券做网站赚钱百度河南代理商
  • 珍爱网5g站长工具seo综合查询
  • 4d网站广告图用什么做的营销网站建设免费
  • 县政府网站问题建设调研报告北京百度快速优化排名
  • 网站制作价格多少钱沈阳百度快照优化公司
  • 邵阳汽车网站建设网站排名优化系统
  • 南通网站建设排名公司哪家好报个计算机培训班多少钱
  • 广州外贸网站建设 open推广普通话海报
  • 企业内部网站宣传方案seo外包公司费用
  • 网站开发系统计划书微博推广怎么做
  • 做影视剧组演员垂直平台网站建站开发
  • 长沙培训网站制作北京网站快速排名优化
  • 做阿里巴巴1688网站程序seo公司培训课程
  • 范例网站怎么做雅虎搜索引擎首页
  • 公众号开发者密码怎么获得免费培训seo
  • 云南微网站搭建百度网盘网页版登录入口官网
  • 网站建设口号国际新闻今日头条
  • 网页界面设计风格多样化研究怎么优化自己网站的关键词
  • 网站制作 深圳有什么公司营销战略包括哪些方面
  • 怎么和其它网站做友情链接免费推广产品的平台
  • h5简单网页代码企业网站优化方案案例
  • 石家庄展厅设计公司快手seo关键词优化