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

本地南昌网站建设建网站用什么工具

本地南昌网站建设,建网站用什么工具,独立做网站需要学习什么,网站邮箱怎么做的题目链接 Leetcode.1849 将字符串拆分为递减的连续值 Rating : 1747 题目描述 给你一个仅由数字组成的字符串 s。 请你判断能否将 s拆分成 两个或者多个 非空子字符串 ,使子字符串的 数值 按 降序 排列,且每两个 相邻子字符串 的数值之 差 …

题目链接

Leetcode.1849 将字符串拆分为递减的连续值 Rating : 1747

题目描述

给你一个仅由数字组成的字符串 s

请你判断能否将 s拆分成 两个或者多个 非空子字符串 ,使子字符串的 数值降序 排列,且每两个 相邻子字符串 的数值之 等于 1

  • 例如,字符串 s = "0090089"可以拆分成 ["0090", "089"],数值为 [90,89]。这些数值满足按降序排列,且相邻值相差 1 ,这种拆分方法可行。
  • 另一个例子中,字符串 s = "001"可以拆分成 ["0", "01"]["00", "1"]["0", "0", "1"]。然而,所有这些拆分方法都不可行,因为对应数值分别是 [0,1]、[0,1][0,0,1],都不满足按降序排列的要求。

如果可以按要求拆分 s,返回 true ;否则,返回 false

子字符串 是字符串中的一个连续字符序列。

示例 1:

输入:s = “1234”
输出:false
解释:不存在拆分 s 的可行方法。

示例 2:

输入:s = “050043”
输出:true
解释:s 可以拆分为 [“05”, “004”, “3”] ,对应数值为 [5,4,3] 。
满足按降序排列,且相邻值相差 1 。

示例 3:

输入:s = “9080701”
输出:false
解释:不存在拆分 s 的可行方法。

示例 4:

输入:s = “10009998”
输出:true
解释:s 可以拆分为 [“100”, “099”, “98”] ,对应数值为 [100,99,98] 。
满足按降序排列,且相邻值相差 1 。

提示:

  • 1<=s.length<=201 <= s.length <= 201<=s.length<=20
  • s仅由数字组成

解法:模拟

提示1:题目要求相邻字符串数值之差为1,说明当确定第一个字符串时,后续字符串的数值也就确定了。

提示2:题目要求最少分成两个串,s.size()最大才是 20,一个子串的值不能超过101010^{10}1010,超过就无解了。

pre表示第一段子串的值,用 cur表示接下来每一段子串 实际的值,用 next表示接下来每一段子串 正确的值

时间复杂度:O(n2)O(n^2)O(n2)

C++代码:

using LL = long long;
class Solution {
public:bool splitString(string s) {int n = s.size();//第一段子串的值 和 子串最大的值LL pre = 0,mx = 1e10;for(int i = 0;i < n;i++){pre = pre * 10 + (s[i] - '0');//如果有子串的值 > mx 后面也不会有解了if(pre > mx) break;//cur 表示接下来每一段 实际的值//next 表示接下来每一段 符合条件的值LL cur = 0;LL next = pre - 1;for(int j = i + 1;j < n && next >= 0;j++){cur = cur * 10 + (s[j] - '0');//这一段子串的值符合要求,更新 next 和 cur 开始寻找下一段//只有当 cur 的这一段是最后一段时,并且 cur == next , cur 才允许为0 if((cur == next && cur != 0) || (cur == next && cur == 0 && j == n - 1)){cur = 0;next--;//当前已经是最后一段,说明s 可以分解为题目要求的非空子串,直接返回 trueif(j == n - 1) return true;}//cur > next 说明该段不符合要求,直接退出循环else if(cur > next) break;}}return false;}
};
http://www.shuangfujiaoyu.com/news/43397.html

相关文章:

  • 哪个网站可以做练习题排名sem优化软件
  • 企业网站制作的市场seo排名赚app最新版本
  • 程序员自己做网站怎么赚钱百度推广排名怎么做的
  • ps怎么做网站导航内嵌式跨境电商网站开发
  • 济阳做网站东莞seo公司
  • 郑州二七区做网站火星时代教育培训机构怎么样
  • 手机网站做多少钱微信软文怎么写
  • 广州海珠区二手房房价seo搜索引擎优化岗位要求
  • 互联网大厂名单sem和seo是什么
  • 做装修效果图的网站有哪些中国国家培训网官网
  • 建设彩票投注网站营销培训视频课程免费
  • 企业品牌网站建设费用周口seo
  • 国内汽油价格调整最新消息seo工作内容
  • 校园推广方式seo优化包括
  • 玉泉路网站建设运营网站是什么意思
  • 帮人注册网站 做app高级搜索引擎
  • 伍佰亿网站怎么样外贸营销系统
  • 企业网站建设注意事项举例说明seo
  • 收集链接 做网站百度客服在哪里找
  • 深圳私人网站优化网站开发的基本流程
  • 站设计网站官网网站seo优化外包顾问
  • 用织梦做领券网站官方网站百度一下
  • 网站后台添加图片显示不了网址如何下载视频
  • 做网站写个人日志电商怎么推广自己的产品
  • 汉南做网站seo关键词推广渠道
  • 建一个营销网站的步骤智能搜索引擎
  • 推广之家官网seo快速排名软件网址
  • 2015做导航网站有哪些功能app开发需要哪些技术
  • 公司网站制作哪家公司好怎么做百度推广平台
  • 浙江建设厅继续教育网站首页青岛网络工程优化