2023 Huawei OD インタビュー手引きの実際の質問 [最大の連続部分文字列を見つける]

トピック:

「1~10」「A~Z」の文字列を「,」で区切って、連続する最大の部分文字列を求めます。(10の後の文字はAです)

例 1:
入力:
1、2、3、4、5、7、8

出力:
1 2 3 4 5

        この質問はインターネット上にオリジナルの質問はなく、面接官が画面を共有して直接出題するもので、面接生は自分のIDEAにコードを書いて自己テストを受けていただきます。一見すると、これは Huawei OD Trusted Exam の主題 2 の問題であり、アルゴリズムのアイデアは比較的単純ですが、比較的珍しいシーンの背景を与えています。

        実際、これは、配列内で最大の連続部分文字列を見つける問題です。最大値、連続値、長さこの単語が出てきたら、多くの問題を解いている学生なら「スライディングウィンドウ」を思い浮かべるでしょう。思いつかなくても大丈夫です。今から覚えておいてください。

        この質問に対する特別な解決策はありません, 左と右のポインタを使用して, ウィンドウ内のすべての文字が [連続] 要件を満たしているかどうかを判断するだけです. 唯一の困難は文字の処理です. ここではすべてを変換する必要はありません判断できる限り、文字を数字に変換します。さらにいくつかの条件を追加します。

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

public class Main { 
    public static

おすすめ

転載: blog.csdn.net/misayaaaaa/article/details/132908881