ধরুন আমাদের কাছে সংখ্যার একটি তালিকা আছে যাকে বলা হয় সংখ্যা এবং আরেকটি মান k, আমাদের অভিধানিকভাবে k আকারের ক্ষুদ্রতম অনুক্রমটি খুঁজে বের করতে হবে।
সুতরাং, যদি ইনপুটটি সংখ্যার মত হয় =[2, 3, 1, 10, 3, 4] k =3, তাহলে আউটপুট হবে [1, 3, 4]
এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -
- l :=সংখ্যার আকার, r :=k - 1
- আউট :=একটি নতুন তালিকা 0 থেকে k রেঞ্জের মধ্যে j-এর জন্য
- করুন
- mn :=সংখ্যা[r এর পরিপূরক]
- আমি r থেকে l রেঞ্জের জন্য, কর
- যদি mn>=nums[i এর পরিপূরক], তাহলে
- mn :=সংখ্যা[i এর পরিপূরক]
- l :=i
- যদি mn>=nums[i এর পরিপূরক], তাহলে
- r :=r - 1
- আউটের শেষে mn ঢোকান
- রিটার্ন আউট
উদাহরণ (পাইথন)
আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -
class Solution: def solve(self, nums, k): l, r = len(nums), k - 1 out = [] for j in range(k): mn = nums[~r] for i in range(r, l): if mn >= nums[~i]: mn = nums[~i] l = i r -= 1 out.append(mn) return out ob = Solution() nums = [2, 3, 1, 10, 3, 4] k = 3 print(ob.solve(nums, k))
ইনপুট
[2, 3, 1, 10, 3, 4], 3
আউটপুট
[1, 3, 4]