Leetcode 2042. 检查句子中的数字是否递增
句子是由若干 token 组成的一个列表,token 间用 单个 空格分隔,句子没有前导或尾随空格。每个 token 要么是一个由数字 0-9 组成的不含前导零的 正整数 ,要么是一个由小写英文字母组成的 单词 。
- 示例,"a puppy has 2 eyes 4 legs" 是一个由 7 个 token 组成的句子:"2" 和 "4" 是数字,其他像
"puppy" 这样的 tokens 属于单词。
给你一个表示句子的字符串 s ,你需要检查 s 中的 全部 数字是否从左到右严格递增(即,除了最后一个数字,s 中的 每个 数字都严格小于它 右侧 的数字)。
如果满足题目要求,返回 true ,否则,返回 false 。
示例 1:
输入:s = "1 box has 3 blue 4 red 6 green and 12 yellow marbles" 输出:true 解释:句子中的数字是:1, 3, 4, 6, 12 。 这些数字是按从左到右严格递增的 1 < 3 < 4 < 6 < 12 。
示例 2:
输入:s = "hello world 5 x 5" 输出:false 解释:句子中的数字是:5, 5 。这些数字不是严格递增的。
示例 3:
输入:s = "sunset is at 7 51 pm overnight lows will be in the low 50 and 60 s" 输出:false 解释:s 中的数字是:7, 51, 50, 60 。这些数字不是严格递增的。
示例 4:
输入:s = "4 5 11 26" 输出:true 解释:s 中的数字是:4, 5, 11, 26 。 这些数字是按从左到右严格递增的:4 < 5 < 11 < 26 。
提示:
- 3 <= s.length <= 200
- s 由小写英文字母、空格和数字 0 到 9 组成(包含 0 和 9)
- s 中数字 token 的数目在 2 和 100 之间(包含 2 和 100)
- s 中的 token 之间由单个空格分隔
- s 中至少有 两个 数字
- s 中的每个数字都是一个 小于 100 的 正 数,且不含前导零
- s 不含前导或尾随空格
主要思路:字符串分割
Code:
class Solution { public: void str_split(const std::string & src, const std::string & sep, std::vector<string> & vec_str) { std::string::size_type start = 0; int i=0; for(std::string::size_type end = src.find(sep, start); end != std::string::npos; end = src.find(sep, start)) { if(end > start) { string str=src.substr(start, end - start); vec_str.push_back(str); } start = end + sep.length(); } if(start < src.length()) { string str=src.substr(start, src.length() - start); vec_str.push_back(str); } } bool isCrease(vector<int>&vec) { for(int i=1;i<vec.size();i++) { if(vec[i]<=vec[i-1]) return false; } return true; } bool areNumbersAscending(string s) { vector<string> vec; str_split(s," ",vec); vector<int>nums; for(int i=0;i<vec.size();i++) { if(vec[i][0]>='0'&&vec[i][0]<='9') { nums.push_back(atoi(vec[i].c_str())); } } if(isCrease(nums)) return true; return false; } };
分类:
C/C++
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)