パターン検索
CoddyのRustジャーニー「基礎」セクションの一部。レッスン 74/75。
チャレンジ
簡単入力として、サイズがそれぞれ8と3の文字列配列を2つ受け取り、2つ目の配列が1つ目の配列内に(連続した順序で)パターンとして現れるかどうかを判定するプログラムを作成してください。
2つ目の配列のすべての要素が、1つ目の配列内のどこかに、同じ順序で連続して現れる場合に、パターンが存在します。これは、文字列内から部分文字列を探すのと同じです。
arr2がarr1内に現れる場合、resultをtrueに設定してください。コードの下の行でその値を出力します。
例:
let arr1 = ["1", "2", "3", "4", "5", "6", "7", "8"];
let arr2 = ["3", "4", "5"];
// prints truelet 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オンラインコンパイラ