মডিউল ১৯-৭ঃ পেলিনড্রোম
Last updated
Last updated
প্রবলেম লিংকঃ
প্রবলেম স্টেটমেন্টঃ ইনপুটে একটি স্ট্রিং থাকবে। স্ট্রিংটি পেলিনড্রোম কিনা তা বলতে হবে। সল্যুশনঃ আমরা এটি দুটি ওয়েতে করতে পারি। প্রথমে নরমাল এপ্রোচ। নরমালি পেলিনড্রোম স্ট্রিং বলতে আমরা বুঝি যদি কোন স্ট্রিং রিভার্স করার পরও সেইম থাকে তাহলে সেটি পেলিনড্রোম হয়। আমরা ইনপুট স্ট্রিংটি আরেকটি স্ট্রিং এ কপি করে রেখে তারপর সেই স্ট্রিংটিকে উল্টিয়ে দিতে পারি। তারপর সেই উল্টো স্ট্রিংটির সাথে ইনপুট নেওয়া সোজা স্ট্রিংটি কম্পেয়ার করে দেখতে পারি সেইম কিনা। সেইম হলে পেলিনড্রোম। আর সেইম না হলে পেলিনড্রোম না।
দ্বিতীয় সল্যুশনঃ দুটি পয়েন্টার নিয়েও আমরা এটি করতে পারি। তাহলে আমাদের স্ট্রিং উল্টোতে হবে না কম্পেয়ারও করতে হবে না। দুটি পয়েন্টার নিব। একটি স্ট্রিং এর শুরুতে ( ইন্ডেক্স ০ ) আরেকটি শেষে ( ইনডেক্স লেন্থ-১ ) । তারপর দেখব এই দুটি ইন্ডেক্সে থাকা ক্যারেক্টার দুটি সেইম কিনা । সেইম না হলে সাথে সাথে আমরা বলে দিতে পারব এটি পেলিনড্রোম না। এটি ট্র্যাক রাখার জন্য আমরা শুরুতে একটি ফ্ল্যাগ ভেরিয়েবল নিয়ে নিতে পারি এবং তাতে ১ রেখে দিতে পারি। যখনি দেখব ক্যারেক্টার দুটি সেইম না তখনি ফ্ল্যাগ এর মধ্যে ০ রেখে দিব। তারপর লুপ শেষে চেক করে দেখব ফ্ল্যাগ এর মধ্যে আমাদের শুরুতে রাখা ১ আছে কিনা। থাকলে এটি পেলিনড্রোম আর না থাকলে পেলিনড্রোম না।
গিটবুক গুলো আপনাদের কেমন লাগছে? এই ফর্মটি ফিলাপ করে আমাদের জানাতে পারেন।