パターン検索
CoddyのC++ジャーニー「基礎」セクションの一部 — レッスン 73/74。
チャレンジ
簡単2つの整数の配列のサイズを示す2つの整数を入力として受け取り、2番目の配列が1番目の配列の中にパターンとして(連続した順序で)現れるかどうかを判定するプログラムを作成してください。
パターンが存在するとは、文字列の中から部分文字列を探すように、2番目の配列のすべての要素が、1番目の配列のどこかに同じ順序でまとめて現れることを指します。
例:
int arr1[] = {1, 2, 3, 4, 5, 6, 7};
int arr2[] = {3, 4, 5};
// Should return trueint arr1[] = {5, 6, 7, 8, 9};
int arr2[] = {6, 8};
// Should return false (not consecutive)自分で試してみよう
#include <iostream>
#include <vector>
#include <string>
int main() {
int n1;
int n2;
std::cin >> n1;
std::cin >> n2;
std::cin.ignore();
int arr1[n1];
int arr2[n2];
for (int i = 0; i < n1; i++) {
int val;
std::cin >> val;
arr1[i] = val;
}
for (int i = 0; i < n2; i++) {
int val;
std::cin >> val;
arr2[i] = val;
}
// arr1, arr2, n1, n2 を使用して、以下にコードを記述してください
return 0;
}