পটভূমি
একটি গেমের ভিত্তিতে আমার চার বছর বয়সী তার রাব্বি থেকে পেয়েছে।
"লক্ষ্য" হ'ল অক্ষরগুলিকে একটি নির্দিষ্ট ক্রমে "সন্ধান" করা, যেমন aecdb
। আপনাকে লেটার কার্ডের একটি স্ট্যাক দেওয়া হয়, যেমন daceb
। আপনি প্রদত্ত ক্রমে কেবল স্ট্যাকের মাধ্যমে অনুসন্ধান করতে পারেন, যদিও চক্রাকারে। আপনি যখন একটি প্রয়োজনীয় চিঠিটি পূরণ করেন, আপনি স্ট্যাকের বাইরে নিয়ে যান।
উদ্দেশ্য
একটি আদেশ এবং একটি স্ট্যাক দেওয়া (একে অপরের সদৃশ মুক্ত ক্রম), গেমটি খেলার সময় আপনি দেখতে পেলেন শীর্ষ স্ট্যাক অক্ষরের ক্রম (এটি সমস্ত মুদ্রণযোগ্য ASCII) সন্ধান করুন।
ধাপে ধাপে উদাহরণ
aecdb
স্ট্যাকের ভিত্তিতে আমাদের অর্ডারটি খুঁজতে হবে daceb
:
স্ট্যাকের উপরে d
কি আমরা জন্য (খুজছেন a
), আমরা ক্রম থেকে এটি যোগ তাই হয়: d
এবং স্ট্যাকের পেতে ঘোরাতে: acebd
।
স্ট্যাকের শীর্ষ a
: হ্যাঁ! তাই আমরা ক্রম যুক্ত করুন: da
এবং স্ট্যাকের থেকে সরাতে: cebd
।
স্ট্যাকের উপরে c
কি আমরা জন্য (খুজছেন e
), আমরা ক্রম থেকে এটি যোগ তাই হয়: dac
এবং স্ট্যাকের পেতে ঘোরাতে: ebdc
।
স্ট্যাকের শীর্ষ e
: হ্যাঁ! তাই আমরা ক্রম যুক্ত করুন: dace
এবং স্ট্যাকের থেকে সরাতে: bdc
।
স্ট্যাকের উপরে b
কি আমরা জন্য (খুজছেন c
), আমরা ক্রম থেকে এটি যোগ তাই হয়: daceb
এবং স্ট্যাকের পেতে ঘোরাতে: dcb
।
স্ট্যাকের উপরে d
কি আমরা জন্য (খুজছেন c
), আমরা ক্রম থেকে এটি যোগ তাই হয়: dacebd
এবং স্ট্যাকের পেতে ঘোরাতে: cbd
।
স্ট্যাকের শীর্ষ c
: হ্যাঁ! তাই আমরা ক্রম যুক্ত করুন: dacebdc
এবং স্ট্যাকের থেকে সরাতে: bd
।
স্ট্যাকের উপরে b
কি আমরা জন্য (খুজছেন d
), আমরা ক্রম থেকে এটি যোগ তাই হয়: dacebdcb
এবং স্ট্যাকের পেতে ঘোরাতে: db
।
স্ট্যাকের শীর্ষ d
: হ্যাঁ! তাই আমরা ক্রম যুক্ত করুন: dacebdcbd
এবং স্ট্যাকের থেকে সরাতে: b
।
স্ট্যাকের শীর্ষ b
: হ্যাঁ! তাই আমরা ক্রম যুক্ত করুন: dacebdcbdb
এবং স্ট্যাকের থেকে সরাতে: ।
এবং আমরা সম্পন্ন। ফলাফল হয় dacebdcbdb
।
রেফারেন্স বাস্তবায়ন
def letters(target, stack):
string = ''
while stack:
string += stack[0]
if stack[0] == target[0]:
stack.pop(0)
target = target[1:]
else:
stack.append(stack.pop(0))
return string
print letters('aecdb', list('daceb'))
পরীক্ষার মামলা
try
, yrt
→yrtyry
1234
, 4321
→4321432434
ABCDEFGHIJKLMNOPQRSTUVWXYZ
, RUAHYKCLQZXEMPBWGDIOTVJNSF
→RUAHYKCLQZXEMPBWGDIOTVJNSFRUHYKCLQZXEMPWGDIOTVJNSFRUHYKLQZXEMPWGIOTVJNSFRUHYKLQZXMPWGIOTVJNSRUHYKLQZXMPWIOTVJNSRUYKLQZXMPWOTVNSRUYQZXPWOTVSRUYQZXPWTVSRUYQZXWTVSRUYZXWTVSUYZXWTVUYZXWVYZXWYZXYZ
?
, ?
→?
a
, a
→a a
abcd
, abcd
→abcd
99
বিশেষভাবে?