কম্পিউটার

পাইথনে K উপসর্গ


ধরুন আমাদের কাছে সংখ্যার একটি তালিকা আছে এবং একটি পূর্ণসংখ্যা k আছে, আমাদেরকে সর্বাধিক সম্ভাব্য i খুঁজে বের করতে হবে যেখানে nums[0] + nums[1] + ... + nums[i] ≤ k। কোনো বৈধ আমি বিদ্যমান না থাকলে আমরা -1 ফেরত দেব।

সুতরাং, ইনপুটটি যদি nums =[4, -7, 5, 2, 6], k =5 এর মত হয়, তাহলে আউটপুট হবে 3, সূচকটি 3 হবে যদি আমরা 4+(-7)+5+2 যোগ করি। =4, এটি k এর থেকে কম, যদি আমরা শেষ উপাদানটি যোগ করি তবে এটি k এর থেকে কম হবে না, তাই সূচকটি 3।

এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -

  • আমি রেঞ্জ 1 থেকে সংখ্যার আকার - 1 এর জন্য, কর
    • সংখ্যা[i] :=সংখ্যা[i] + সংখ্যা[i-1]
  • সংখ্যা -1 থেকে -1 এর পরিসরের আকারের জন্য, 1 দ্বারা হ্রাস করুন, করুন
    • যদি সংখ্যা হয়[i]<=k, তাহলে
      • রিটার্ন i
  • রিটার্ন -1

আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -

উদাহরণ

class Solution:
   def solve(self, nums, k):
      for i in range(1,len(nums)):
         nums[i]+=nums[i-1]
         for i in range(len(nums)-1,-1,-1):
            if nums[i]<=k:
                return i
      return -1
ob = Solution()
nums = [4, -7, 5, 2, 6]
k = 5
print(ob.solve(nums, k))

ইনপুট

[4, -7, 5, 2, 6], 5

আউটপুট

3

  1. পাইথনে সবচেয়ে বড় সংখ্যা

  2. পাইথনে দীর্ঘতম সাধারণ উপসর্গ

  3. বিসেক্ট - পাইথনে অ্যারে দ্বিখণ্ডিত অ্যালগরিদম

  4. পাইথনে স্ট্রিংগুলিতে সংখ্যাগুলি কীভাবে ফর্ম্যাট করবেন?