আমি বিশ্বাস করি যে আমি এমন কিছু নিয়ে এসেছি যা সাধারণত এবং দক্ষতার সাথে কাজ করা উচিত যদি আপনার অনুলিপি না রাখার নিশ্চয়তা থাকে * (তবে এটি কোনও সংখ্যক ছিদ্র এবং কোনও সংখ্যার পূর্ণসংখ্যার ক্ষেত্রেই বহির্ভুত হওয়া উচিত)।
এই পদ্ধতির পিছনে ধারণাটি কুইকোর্টের মতো, আমরা এটির চারপাশে একটি পাইভট এবং বিভাজন খুঁজে পাই, তারপরে একটি গর্ত দিয়ে পাশ (গুলি) এ পুনরাবৃত্তি করি। কোন দিকটির গর্ত রয়েছে তা দেখতে, আমরা সর্বনিম্ন এবং সর্বাধিক সংখ্যা খুঁজে পাই এবং সেগুলির সাথে পাইভট এবং মানগুলির সংখ্যার সাথে তুলনা করি। পাইভটটি 17 এবং সর্বনিম্ন সংখ্যা 11 বলুন যদি কোনও গর্ত না থাকে তবে 6 টি সংখ্যা (11, 12, 13, 14, 15, 16, 17) হওয়া উচিত। যদি 5 টি থাকে তবে আমরা জানি যে সেই পাশের একটি গর্ত আছে এবং এটি সন্ধানের জন্য আমরা কেবল সেই দিকেই পুনরাবৃত্তি করতে পারি। আমি এর থেকে আরও পরিষ্কারভাবে ব্যাখ্যা করতে আমার সমস্যা হচ্ছে, সুতরাং আসুন একটি উদাহরণ নেওয়া যাক।
15 21 10 13 18 16 22 23 24 20 17 11 25 12 14
পিভট:
10 13 11 12 14 |15| 21 18 16 22 23 24 20 17 25
15 হলেন পাইভট, পাইপ দ্বারা নির্দেশিত ( ||
)। পিভটের বাম দিকে 5 টি সংখ্যা রয়েছে, কারণ সেখানে (15 - 10) এবং ডানদিকে 9 হওয়া উচিত, যেখানে 10 (25 - 15) হওয়া উচিত। সুতরাং আমরা ডানদিকে পুনরাবৃত্তি করি; আমরা নোট করব যে গর্তটি সংলগ্ন হলে পূর্বের গণ্ডিটি 15 ছিল (16)।
[15] 18 16 17 20 |21| 22 23 24 25
এখন বাম দিকে 4 সংখ্যা রয়েছে তবে 5 (21 - 16) হওয়া উচিত। সুতরাং আমরা সেখানে পুনরাবৃত্তি করি এবং আবার আমরা পূর্বের আবদ্ধ (বন্ধনীগুলিতে) নোট করব।
[15] 16 17 |18| 20 [21]
বাম দিকে সঠিক 2 সংখ্যা রয়েছে (18 - 16), তবে ডানদিকে 2 (20 - 18) এর পরিবর্তে 1 টি রয়েছে। আমাদের শেষের অবস্থার উপর নির্ভর করে আমরা 1 নম্বরটিকে দুটি পক্ষের (18, 20) সাথে তুলনা করতে পারি এবং দেখতে পাচ্ছি যে 19 টি অনুপস্থিত বা আরও একবার পুনরাবৃত্তি করছে:
[18] |20| [21]
বাম পাশের একটি শূন্যের আকার রয়েছে, পিভট (20) এবং পূর্বের আবদ্ধ (18) এর মধ্যে ফাঁক রয়েছে, তাই 19 গর্ত।
*: যদি ডুপ্লিকেট থাকে তবে আপনি সম্ভবত সামগ্রিক পদ্ধতি ও (এন) রেখে ও (এন) সময়ে এগুলি অপসারণ করতে একটি হ্যাশ সেট ব্যবহার করতে পারেন তবে এটি অন্য কোনও পদ্ধতি ব্যবহারের চেয়ে বেশি সময় নিতে পারে ।