কোডিং ইন্টারভিও ক্র্যাক করার জন্য লিটকোডে হচ্ছে বেস্ট প্ল্যাটফর্ম । কিন্তু লিটকোডে হাজার হাজার প্রবলেম আছে, সব প্রবলেম তো সল্ভ করা পসিবল না , এমন কি দরকার ও নেই ।
বরঞ্চ আপনার কাজ হচ্ছে প্রবলেম সল্ভিং এর প্যাটার্নগুলো মাথায় রাখা এবং কখন কোন প্যাটার্ন ব্যবহার করা সেটা বুঝা । কিছু কিছু কমন প্যাটার্ন আছে যেগুলো থেকে ইন্টারভিও তে প্রচুর প্রশ্ন আসে ।
ডাটা স্ট্রাকচার , এলগরিদম শিখার পর এই ১৬ টা প্যাটার্ন এবং এই রিলেটেড লিটকোড প্রবলেমগুলোর সলিউশন করে ফেলবেন । তাহলে বেশিরভাগ ইন্টারভিউ তে উতরে যেতে পারবেন ।
১. স্লাইডিং উইন্ডো প্যাটার্ন
এটি সময়ের সাথে সাথে পরিবর্তিত একটি সাবসেটের ডেটা ট্র্যাক করতে ব্যবহৃত হয়, সাধারণত অ্যারে বা স্ট্রিং এর ক্ষেত্রে।
২. টু পয়েন্টার প্যাটার্ন
এই প্যাটার্নে দুটি পয়েন্টার অ্যারের ভিন্ন প্রান্ত থেকে একত্রে কাজ করে একটি সমাধানের দিকে এগিয়ে যায়।
৩. ফাস্ট & স্লো পয়েন্টার প্যাটার্ন
দুটি পয়েন্টার ভিন্ন গতিতে চলে এবং সিকোয়েন্সের মধ্যে সাইকেল শনাক্ত করতে সহায়তা করে।
৪. মার্জ ইন্টারভ্যাল প্যাটার্ন
এই প্যাটার্নটি ওভারল্যাপিং ইন্টারভ্যালগুলিকে একত্রিত করতে ব্যবহৃত হয়।
৫. সাইক্লিক সোর্ট প্যাটার্ন
এই প্যাটার্নের মাধ্যমে নির্দিষ্ট পরিসরের মধ্যে এলিমেন্টগুলিকে সাজানো হয়, যেমন মিসিং নাম্বার খোঁজার ক্ষেত্রে।
৬. ইন-প্লেস লিংকড লিস্ট রিভার্সাল প্যাটার্ন
লিংকড লিস্টকে ইন-প্লেসে রিভার্স করতে ব্যবহৃত হয়।
৭. ট্রি ব্রেডথ-ফার্স্ট সার্চ (BFS) প্যাটার্ন
একটি ট্রিতে লেভেল বাই লেভেল নোডগুলো এক্সপ্লোর করা হয়।
৮. ডেপথ-ফার্স্ট সার্চ (DFS) প্যাটার্ন
গভীরভাবে একটি ট্রি ব্রাঞ্চ অনুসন্ধান করে ব্যাকট্র্যাকিং করার আগে যতটা সম্ভর ডেপথে যাওয়া হয়।
৯. টু হিপ প্যাটার্ন
ডায়নামিক ডেটাসেট মেইনটেইন করার জন্য দুটি হিপ ব্যবহার করা হয়, যেমন একটি স্ট্রিম থেকে মিডিয়ান খোঁজার ক্ষেত্রে।
১০. সাবসেট প্যাটার্ন
সমস্ত সম্ভাব্য সাবসেট জেনারেট করা হয়, যেমন কম্বিনেশন বা পারমুটেশন সমস্যাগুলোর সমাধানে।
১১. মডিফাইড বাইনারি সার্চ প্যাটার্ন
একটি রোটেটেড বা আংশিকভাবে সাজানো অ্যারেতে এলিমেন্ট খোঁজার ক্ষেত্রে ব্যবহৃত হয়।
১২. বিটওয়াইজ XOR প্যাটার্ন
এই প্যাটার্নের মাধ্যমে জোড়া সংখ্যা সম্পর্কিত সমস্যাগুলি সমাধান করা হয়।
১৩. টপ 'K' এলিমেন্ট প্যাটার্ন
একটি ডেটাসেটে থেকে শীর্ষ K এলিমেন্ট খুঁজে বের করতে হিপ ব্যবহার করা হয়।
১৪. K-ওয়ে মার্জ প্যাটার্ন
একাধিক সাজানো অ্যারে কার্যকরভাবে মার্জ করতে ব্যবহৃত হয়।
১৫. ০/১ ন্যাপকস্যাক ডায়নামিক প্রোগ্রামিং প্যাটার্ন
এই প্যাটার্নটি রিসোর্স অ্যালোকেশনে সীমাবদ্ধতার মধ্যে অপটিমাইজেশন করা জন্য ব্যবহার করা হয়।
১৬. টপোলজিকাল সোর্ট গ্রাফ প্যাটার্ন
এটি Directed Acyclic Graphs (DAG) এর টাস্ক অর্ডার খুঁজে বের করতে ব্যবহৃত হয়।
এই পোস্টটা পার্সোনাল টাইমলাইনে অথবা বন্ধুদের সাথে শে-য়া-র করতে পারেন । ফিউচারে এটা আপনার কাজে লাগবেই নিশ্চিত করে বলা যায় ।
Comments
Post a Comment