ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

LeetCode 第263场周赛 第一题

2021-10-17 22:30:29  阅读:173  来源: 互联网

标签:周赛 题目 数字 句子 263 token include LeetCode


题目链接:5902. 检查句子中的数字是否递增 - 力扣(LeetCode) (leetcode-cn.com)

题目描述:

句子是由若干 token 组成的一个列表,token 间用 单个 空格分隔,句子没有前导或尾随空格。每个 token 要么是一个由数字 0-9 组成的不含前导零的 正整数 ,要么是一个由小写英文字母组成的 单词 。

示例,"a puppy has 2 eyes 4 legs" 是一个由 7 个 token 组成的句子:"2" 和 "4" 是数字,其他像 "puppy" 这样的 tokens 属于单词。
给你一个表示句子的字符串 s ,你需要检查 s 中的 全部 数字是否从左到右严格递增(即,除了最后一个数字,s 中的 每个 数字都严格小于它 右侧 的数字)。

如果满足题目要求,返回 true ,否则,返回 false 。

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/check-if-numbers-are-ascending-in-a-sentence
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

解题代码:

#include<iostream>
#include<algorithm>
#include<string>
#include<string.h>

using namespace std;

class Solution {
public:
    bool areNumbersAscending(string s) {

	int i=0,c,b[100],p=0,l,w=0,n=0; // n 是数字个数,c是字符串长度,w是若数组前一个数字 < 后一个数字则加1。

	c=s.length();

	
	for(int m=0;m<c;m++)
	{
		if('0'<= s[m] && s[m]<='9' && s[m+1]==' ')
		{
		    b[p++]=s[m]-'0';n++;
		}
		if('0'<= s[m] && s[m]<='9' && '0'<= s[m+1] && s[m+1] <= '9' && s[m+2]==' ')
		{
			b[p++]=(s[m]-'0')*10+(s[m+1]-'0');m++; n++;
		}
		if('0'<= s[m] && s[m]<='9' && (m+1)==c)
		{
			b[p++]=s[m]-'0'; n++;
		}
		if('0'<= s[m] && s[m]<='9' && '0'<= s[m+1] && s[m+1] <= '9' && (m+2)==c)
		{
            b[p++]=(s[m]-'0')*10+(s[m+1]-'0');
		}
    }
    
	for(int l=0;l<n-1;l++)
		if(b[l] < b[l+1])
			w++;
			
		if(w==n-1)	
			return true;
		else
			return false;
       
    }
};

标签:周赛,题目,数字,句子,263,token,include,LeetCode
来源: https://blog.csdn.net/m0_57587757/article/details/120817394

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有