মান ল করুন nums নামের একটি সংখ্যার তালিকা, এখন একটি অপারেশন বিবেচনা করুন যেখানে একটি এলিমেন্টকে যেকোনো মান দিয়ে আপডেট করা যায়। আমরা hoogstens ৩টি এরকম অপারেশন করতে পারি, nums-এ ম্যাক্স এবং মিন মান পার্থক্য ন্যূনতম কত হবে তা খুঁজে বের করতে হবে।
যদি ইনপুট হয় nums = [2, 3, 4, 5, 6, 7], তবে আউটপুট হবে ২, কারণ আমরা লিস্টকে [4, 3, 4, 5, 4, 4] এ পরিবর্তন করতে পারি এবং ৫ - ৩ = ২।
এটি সমাধান করতে আমরা নিম্নলিখিত ধাপগুলি অনুসরণ করব:
- যদি nums-এর আকার <= 4 হয়, ০ ফেরত দিন।
- n := nums-এর আকার
- nums তালিকাটি সাজান
- i কে ০ থেকে ৩ পর্যন্ত লুপ চালিয়ে nums[n-4+i] - nums[i]-এর ন্যূনতম মান ফেরত দিন।
বेहतर বোঝার জন্য নিচের ইমপ্লিমেন্টেশনটি দেখুন:
উদাহরণ
class Solution: def solve(self, nums): if len(nums) <= 4: return 0 nums.sort() return min(nums[-4 + i] - nums[i] for i in range(4)) ob = Solution() nums = [2, 3, 4, 5, 6, 7] print(ob.solve(nums))
ইনপুট
[2, 3, 4, 5, 6, 7]
আউটপুট
2