2023华为OD面试手撕真题【找最大连续子串】

题目:

一串字符串由 "1-10""A-Z" 组成,各字符之间由 "," 隔开,找到最大连续的子串。(10后面的字符是A)

示例1:
输入:
1,2,3,4,5,7,8

输出:
1 2 3 4 5

        这个题目网上没有原题,是面试官直接分享屏幕给出的题目,要求面试同学在自己的IDEA上写代码,自测即可。一看也就是华为od可信考试科目二的题目,算法思想比较简单,但是给了一个比较不常见的场景背景。

        其实翻译过来这就是一个数组找到最大连续子串的问题。最大、连续、长度,这几个词一出基本上刷题多的同学就能想到【滑动窗口】了吧,想不到也没事,从现在开始记住就行。。。。

        这个题没有花里胡哨的解法,就是左右指针,判断窗口内的所有字符能否满足【连续】的要求,唯一难点也能就是字母的处理了,这里我们不用将所有的字母转成数字,只要判断的时候多加一点条件即可。

import java.util.Scanner;
import java.util.*;
import java.util.stream.Collectors;

public class Main { 
    public static

猜你喜欢

转载自blog.csdn.net/misayaaaaa/article/details/132908881