ধরুন আমাদের কাছে সংখ্যার একটি তালিকা আছে যাকে n + 1 দৈর্ঘ্যের সংখ্যা বলা হয়। এই সংখ্যাগুলি 1, 2, ..., n রেঞ্জ থেকে বাছাই করা হয়েছে। আমরা জানি, pigeonhole নীতি ব্যবহার করে, একটি ডুপ্লিকেট হতে হবে। আমাদের সেটা খুঁজে বের করতে হবে এবং ফিরিয়ে দিতে হবে।
সুতরাং, যদি ইনপুটটি [2, 1, 4, 3, 3] এর মত হয়, তাহলে আউটপুট হবে 3
এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -
- l :=সংখ্যার আকার
- তাপ :=l*(l-1) /2
- temp_sum :=সংখ্যায় সমস্ত উপাদানের যোগফল
- রিটার্ন (temp_sum - temp)
আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -
উদাহরণ
class Solution: def solve(self, nums): l = len(nums) temp = l*(l-1)/2 temp_sum = sum(nums) return temp_sum-temp ob = Solution() print(ob.solve([2, 1, 4, 3, 3]))
ইনপুট
[2, 1, 4, 3, 3]
আউটপুট
3