Menu
CoddyTech

Поиск паттернов

Часть раздела Основы путешествия по Rust на Coddy. Урок 74 из 75.

challenge icon

Задание

Легко

Создай программу, которая получает на вход два массива строк размером 8 и 3 соответственно и определяет, встречается ли второй массив в качестве шаблона внутри первого массива (в последовательном порядке).

Шаблон существует, если все элементы второго массива встречаются вместе, в том же порядке, где-либо внутри первого массива, как при поиске подстроки в строке.

Установи result в значение true, если arr2 встречается в arr1. Строка ниже твоего кода выводит это значение.

Например:

let arr1 = ["1", "2", "3", "4", "5", "6", "7", "8"];
let arr2 = ["3", "4", "5"];
// prints true
let arr1 = ["5", "6", "7", "8", "9", "1", "2", "3"];
let arr2 = ["6", "8", "9"];
// prints false (not consecutive)

Попробуйте сами

    let mut input_str_arr_1 = String::new();
    let mut input_str_arr_2 = String::new();
    io::stdin().read_line(&mut input_str_arr_1).unwrap();
    io::stdin().read_line(&mut input_str_arr_2).unwrap();
    let arr1: Vec<String> = input_str_arr_1.trim().split(',').map(String::from).collect();
    let arr2: Vec<String> = input_str_arr_2.trim().split(',').map(String::from).collect();
    
    let mut result = false;
    // Напишите свой код ниже

Все уроки раздела Основы

Потренируйтесь самостоятельно: Онлайн-компилятор Rust