Localizador de Padrões
Parte da seção Fundamentals do Journey de Rust da Coddy — lição 74 de 75.
Desafio
FácilCrie um programa que receba dois arrays de strings de tamanho 8 e 3, respectivamente, como entrada e determine se o segundo array aparece como um padrão dentro do primeiro array (em ordem consecutiva).
Um padrão existe quando todos os elementos do segundo array aparecem juntos, na mesma ordem, em algum lugar dentro do primeiro array, como encontrar uma substring dentro de uma string.
Por exemplo:
let arr1 = ["1", "2", "3", "4", "5", "6", "7", "8"];
let arr2 = ["3", "4", "5"];
// Deve retornar truelet arr1 = ["5", "6", "7", "8", "9", "1", "2", "3"];
let arr2 = ["6", "8", "9"];
// Deve retornar false (não consecutivo)Experimente você mesmo
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;
// Escreva seu código abaixo
println!("{}", result);
}Todas as lições de Fundamentals
4Operadores Parte 1
Operadores AritméticosOperador de MóduloAtalhos AritméticosOperadores de ComparaçãoComparação de Strings7Entrada e Saída Básica
Exibindo no ConsoleLendo a Entrada do UsuárioRevisão - Até 120Revisão - Verdadeiro ou Falso5Operadores Parte 2
Operadores Lógicos Parte 1Operadores Lógicos Parte 2Recapitulação - Lógica SimplesOperadores Lógicos Parte 33Variáveis Parte 2
Declaração de TipoConvenções de NomenclaturaInferência de TipoRecapitulação - Inicializar VariáveisConversão de Tipo9Laços
For sobre SériesLaço WhileBreakContinueLaços AninhadosRótulos de LoopLoop InfinitoRecapitulação - Entrada Dinâmica