标签:笔试算法
主题:默认
三道笔试题,都是coding, 第一题简单,第二三题难度都在中等范围。
1 最大非严格递增数字序列
题目描述
输入一个字符串仅包含大小写字母和数字,求字符串中包含的最长的非严格递增连续数字序列的长度(比如12234属于非严格递增连续数字序列)。
输入描述:
输入一个字符串仅包含大小写字母和数字,输入的字符串最大不超过255个字符。
思路 拆分出来所有的数字序列,然后逐个计算最大有效长度,选择最大的一个输出即可。
function s1() {
let str = readline()
let list = str.split(/[a-zA-z]+/)
let arr = [], sum = 0, max = 0
for (let i =0; i< list.length; i++) {
arr = []
if(list[i].length > 0) {
sum = 1
arr = list[i].split('').map(item => parseInt(item))
for (let j =0; j < arr.length-1; j++) {
if(arr[j+1] < arr[j]) {
max = Math.max(max, sum)
sum = 1
}else {
sum++
}
}
// 循环结束后 再获取一下
max = Math.max(max, sum)
}
}
print(max)
}
<