কম্পিউটার

আমরা পাইথনে সূচক 0 থেকে শেষ অবস্থানে পৌঁছাতে পারি কিনা তা পরীক্ষা করার জন্য প্রোগ্রাম


ধরুন আমাদের কাছে সংখ্যা নামক সংখ্যার একটি তালিকা রয়েছে যেখানে প্রতিটি সংখ্যা দেখায় যে আমরা সর্বোচ্চ কত লাফ দিতে পারি; আমাদের পরীক্ষা করতে হবে যে আমরা সূচক 0 থেকে শুরু করে শেষ সূচকে পৌঁছাতে পারি কি না।

সুতরাং, যদি ইনপুটটি nums =[2,5,0,2,0] এর মত হয়, তাহলে আউটপুট হবে True, যেহেতু আমরা সূচক 0 থেকে 1 এ যেতে পারি, তারপর সূচক 1 থেকে শেষ পর্যন্ত যেতে পারি।

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

  • n :=সংখ্যার আকার

  • arr :=n আকারের একটি অ্যারে এবং মিথ্যা দিয়ে পূরণ করুন

  • arr[n - 1] :=সত্য

  • n - 2 থেকে 0 রেঞ্জে i এর জন্য, 1 দ্বারা হ্রাস করুন, করুন

    • arr[i] :=সত্য যদি arr[index i + 1 থেকে i + nums[i]] এর যে কোনো একটি সত্য হয়

  • ফেরত arr[0]

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

উদাহরণ

class Solution:
   def solve(self, nums):
      n = len(nums)
      arr = [False] * n
      arr[n - 1] = True
      for i in range(n - 2, -1, -1):
         arr[i] = any(arr[i + 1 : i + nums[i] + 1])
      return arr[0]
ob = Solution()
nums = [2,5,0,2,0]
print(ob.solve(nums))

ইনপুট

[2,5,0,2,0]

আউটপুট

True

  1. রোবট পরীক্ষা করার প্রোগ্রাম টার্গেট পজিশনে পৌঁছাতে পারে বা পাইথনে না

  2. পাইথনে k থেকে শুরু করে আমরা তালিকার শেষ প্রান্তে পৌঁছাতে পারি তা পরীক্ষা করার জন্য প্রোগ্রাম

  3. পাইথনে তালিকা কঠোরভাবে বাড়ছে বা কঠোরভাবে কমছে কিনা তা পরীক্ষা করার জন্য প্রোগ্রাম

  4. পাইথনের নিকটতম পরিচিতিগুলি থেকে আমরা কমপক্ষে k দূরত্বে দাঁড়াতে পারি কিনা তা পরীক্ষা করার জন্য প্রোগ্রাম