Поиск паттернов
Часть раздела Fundamentals путешествия по Rust на Coddy — урок 74 из 75.
Задание
ЛегкоСоздайте программу, которая получает на вход два массива строк размером 8 и 3 соответственно и определяет, появляется ли второй массив как паттерн внутри первого массива (в последовательном порядке).
Паттерн существует, когда все элементы второго массива появляются вместе, в том же порядке, где-то внутри первого массива, подобно поиску подстроки в строке.
Например:
let arr1 = ["1", "2", "3", "4", "5", "6", "7", "8"];
let arr2 = ["3", "4", "5"];
// Should return truelet arr1 = ["5", "6", "7", "8", "9", "1", "2", "3"];
let arr2 = ["6", "8", "9"];
// Should return false (not consecutive)Попробуйте сами
use std::io;
fn main() {
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;
// Напишите свой код ниже
println!("{}", result);
}Все уроки раздела Fundamentals
4Операторы. Часть 1
Арифметические операторыОператор остатка от деленияАрифметические сокращенияОператоры сравненияСравнение строк7Основы ввода-вывода
Вывод в консольЧтение ввода пользователяПовторение — До 120Повторение — True или False5Операторы. Часть 2
Логические операторы. Часть 1Логические операторы. Часть 2Повторение — простая логикаЛогические операторы. Часть 38Приложение-калькулятор
Приветственное сообщениеПолучение чисел3Переменные. Часть 2
Объявление типаСоглашения об именованииВывод типовПовторение: инициализация переменныхПриведение типов9Циклы
Цикл For по последовательностиЦикл WhileОператор BreakОператор ContinueВложенные циклыМетки цикловБесконечный циклПовторение — Динамический ввод