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 عبر الإنترنت