Rust လေ့ကျင့်ခန်း အဆင့် 10.8
စာကြောင်းတစ်ကြောင်းမှ အခြားစာကြောင်းတစ်ကြောင်းကို ၎င်း၏အက္ခရာများကို ပြန်လည်စီစဉ်ခြင်းဖြင့် ရရှိနိုင်မနိုင်စစ်ဆေးမည့် program တစ်ခုကို ရေးပါ။
ပေးထားသော အကွာအဝေးအတွင်း ကိန်းပြည့်များကို ရှာဖွေရန် "အီရာတိုစသင်းနည်း" algorithm ကို အကောင်အထည်ဖော်ပါ။
အောက်ပါ နှစ်ဖက်မြင်ခင်းဆိုင်ရာ array ကို ပေးထားသည်:
[
[11, 12, 13, 14, 15],
[21, 22, 23, 24, 25],
[31, 32, 33, 34, 35],
[41, 42, 43, 44, 45],
[51, 52, 53, 54, 55],
}
ပေးထားသော row နှစ်ခုကို နေရာလဲလှယ်ပါ:
[
[51, 52, 53, 54, 55],
[21, 22, 23, 24, 25],
[31, 32, 33, 34, 35],
[41, 42, 43, 44, 45],
[11, 12, 13, 14, 15],
}
အောက်ပါ နှစ်ဖက်မြင်ခင်းဆိုင်ရာ array ကို ပေးထားသည်:
[
[1, 2, 3, 4, 5],
[1, 2, 3, 4, 5],
[1, 2, 3, 4, 5],
[1, 2, 3, 4, 5],
[1, 2, 3, 4, 5],
}
ဤ array ၏ column များ၏ ပေါင်းလဒ်ကို ရယူပါ။ ရလဒ်ကို ပေါင်းလဒ်များ၏ array အဖြစ် တင်ပြပါ:
[
5, 10, 15, 20, 25
}
မိမိကိုယ်တိုင် အလွှာပေါင်းများစွာ ရှိသော စုံတွဲကွင်းများ ( ) ပါရှိသည့် စာကြောင်းတစ်ကြောင်းကို ပေးထားသည်။ ကွင်းများ မှန်ကန်စွာ နေရာချထားသည်ကို စစ်ဆေးမည့် code ကို ရေးပါ။
ဤသို့ဆိုလျှင် မှန်ကန်သည်:
"()()"
ဤသို့ဆိုလျှင်လည်း မှန်ကန်သည်:
"(())"
ဤသို့ဆိုလျှင် မမှန်ကန်ပါ၊ အဘယ်ကြောင့်ဆိုသော် ဖွင့်ထားသော ကွင်းအရေအတွက်နှင့် ပိတ်ထားသော ကွင်းအရေအတွက် မကိုက်ညီသောကြောင့်:
"())"
ဤသို့ဆိုလျှင်လည်း မမှန်ကန်ပါ၊ အဘယ်ကြောင့်ဆိုသော် ဖွင့်ထားသော ကွင်းအရေအတွက်နှင့် ပိတ်ထားသော ကွင်းအရေအတွက် ကိုက်ညီသော်လည်း ၎င်းတို့၏ အစီအစဉ် မမှန်ကန်သောကြောင့်:
"))(("