【华为机试】2023年真题B卷(python)-非严格递增连续数字序列

一、题目

题目描述:

输入一个字符串仅包含大小写字母和数字,求字符串中包含的最长的非严格递增连续数字序列的长度(比如12234属于非严格递增连续数字序列)。

二、输入输出

输入描述:

输入一个字符串仅包含大小写字母和数字,输入的字符串最大不超过255个字符。
输出描述:

最长的非严格递增连续数字序列的长度

三、示例

示例 1:
输入: 
abc2234019A334bc 
输出:
4
说明: 2234为最长的非严格递增连续数字序列,所以长度为4
测试用例:

aaaaaa44ko543j123j7345677781    
-->  34567778 
aaaaa34567778a44ko543j123j71    
-->  34567778 
345678a44ko543j123j7134567778aa
-->  134567778

四、要求

时间限制:C/C++ 1秒,其他语言 2秒
空间限制:C/C++262144K,其他语言524288K
64bit IO Format:%lld

五、解题思路

直接一个循环就搞定了,但是要注意几个分支条件:
分支1:如果不是数字,当前长度直接置为0,上一个数字也置为0。
分支2:如果是数字,且大于上一个数字,当前长度+1,最大长度比较,更新上一个数字。
分支3:如果是数字,且小于上一个数字,当前长度置为1,更新上一个数字。

六、参考代码 

# -*- coding: utf-8 -*-
'''
@File    :   2023-B-非严格递增连续数字序列.py
@Time    :   2023/12/27 08:05:25
@Author  :   mgc 
@Version :   1.0
@Desc    :   None
'''# import os
# import re
# import sys
# import copy
# import math
# import queue
# import functools
# from queue import Queue
# from collections import Counter, defaultdictdef find_longest(strs):i = 0pos = 0res_list = [0]while i < len(strs):if strs[i].isdigit():  # 判断字符是否为数字if i > 0 and strs[i-1] > strs[i]:  # 判断序列是否断开pos = ires_list.append(i - pos + 1)  # 计算当前序列的长度并添加到结果列表i += 1print(max(res_list))  # 输出最长序列的长度# 测试代码
strs = input().strip()find_longest(strs)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/315154.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

让你的隧道代理HTTP使用更加顺畅高效

在数字世界的探险中&#xff0c;隧道代理HTTP是我们穿越网络限制的重要工具。但有时候&#xff0c;我们可能会遇到连接不稳定、速度慢等问题。如何让隧道代理HTTP使用更加顺畅高效&#xff1f;下面是一些建议和技巧。 一、选择合适的代理服务器 代理服务器的地理位置、性能和…

【愚公系列】2023年12月 HarmonyOS教学课程 015-ArkUI组件(Radio)

&#x1f3c6; 作者简介&#xff0c;愚公搬代码 &#x1f3c6;《头衔》&#xff1a;华为云特约编辑&#xff0c;华为云云享专家&#xff0c;华为开发者专家&#xff0c;华为产品云测专家&#xff0c;CSDN博客专家&#xff0c;CSDN商业化专家&#xff0c;阿里云专家博主&#xf…

ARMday9

实现数码管不同位显示不同的数字 spi.h #ifndef __SPI_H__ #define __SPI_H__#include "stm32mp1xx_gpio.h" #include "stm32mp1xx_rcc.h" // MOSI对应的引脚输出高低电平的信号PE14 #define MOSI_OUTPUT_H() do{GPIOE->ODR | (0x1 << 14);…

MySQL的安装网络配置

目录 一. MySQL5.7的安装 二. MySQL8.0的安装 三. 配置网络访问 思维导图 一. MySQL5.7的安装 1. 解压 2. 将my.ini文件放入到解压文件中 3. 编辑my.ini文件&#xff0c;将路径改为当前路径 4. 进到bin目录下&#xff0c;以管理员身份打开cmd命令窗口 5. 安装MySQL服务 my…

Spring Boot 整合 AOP 实现接口切面日志

Spring Boot 整合 AOP 实现接口切面日志 什么是 AOP&#xff1f; AOP&#xff08;Aspect-Oriented Programming&#xff09;是一种编程范式&#xff0c;它允许开发人员将横切关注点&#xff08;如日志记录、性能统计、安全性等&#xff09;从主要业务逻辑中分离出来&#xff…

5233D误码测试仪

5233D误码测试仪 数字通信测量仪器 5233D误码测试仪主要用于数字光收发模块的误码性能测试。采用可更换接口板设计&#xff0c;可支持多种数字光收发模块&#xff0c;包括CFP、CFP2、CFP4、CFP8、CSFP、CXP、CXP2、DSFP、QSFP、QSFP、QSFP28、SFP、SFP、SFP28、XFP等。5233D误…

SpringCloud微服务 【实用篇】| Dockerfile自定义镜像、DockerCompose

目录 一&#xff1a;Dockerfile自定义镜像 1. 镜像结构 2. Dockerfile语法 3. 构建Java项目 二&#xff1a; Docker-Compose 1. 初识DockerCompose 2. 部署微服务集群 前些天突然发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;…

【Java 21 新特性】顺序集合(Sequenced Collections)

1 摘要 引入新的接口表示具有定义的遇到顺序的集合。每个这样的集合都有一个明确定义的第一个元素、第二个元素&#xff0c;依此类推&#xff0c;直到最后一个元素。提供统一的API来访问它的第一个和最后一个元素&#xff0c;并以相反的顺序处理它的元素。 "生活只能向后…

企业签名分发对移动应用开发者有什么影响

企业签名分发是移动应用开发者在应用程序发布前测试、内部分发和特定的受众群体分发等方面比较常用的一种工具。那对于应用商城分发有啥区别&#xff0c;下面简单的探讨一下。 独立分发能力 通过企业签名分发开发者可以自己决定应用程序的发布时间和方式&#xff0c;不用受应用…

使用Wireshark进行网络流量分析

目录 Wireshark是什么&#xff1f; 数据包筛选 筛选指定ip 使用逻辑运算符筛选 HTTP模式过滤 端口筛选 协议筛选 包长度筛选 数据包搜索 数据流分析 数据包导出 Wireshark是什么&#xff1f; 通过Wireshark&#xff0c;我们可以捕获和分析网络数据包&#xff0c;查看…

项目管理流程指南:分解阶段

项目管理流程是项目管理始终不变的一个方面&#xff0c;尤其在瀑布式方法中。 项目管理协会&#xff08;PMI&#xff09;将这一流程定义为五个不同的阶段&#xff1a;启动、计划、执行、监控和收尾。这五个阶段已在全球范围内得到广泛认可和接受。下面来了解如何完成每个阶段&…

学生数据可视化与分析工具 vue3+flask实现

目录 一、技术栈亮点 二、功能特点 三、应用场景 四、结语 学生数据可视化与分析工具介绍 在当今的教育领域&#xff0c;数据驱动的决策正变得越来越重要。为了满足学校、教师和学生对于数据深度洞察的需求&#xff0c;我们推出了一款基于Vue3和Flask编写的学生数据可视化…