কম্পিউটার টিউটোরিয়াল

পাইথনে ইন্ডেক্স ০ থেকে শেষ ইন্ডেক্সে পৌঁছানো সম্ভব কিনা যাচাই করার প্রোগ্রাম


ধরা যাক nums নামক একটি সংখ্যার তালিকা আছে যেখানে প্রতিটি সংখ্যা সর্বোচ্চ জাম্প সংখ্যা নির্দেশ করে। আমাদের ইন্ডেক্স ০ থেকে শেষ ইন্ডেক্সে পৌঁছানো সম্ভব কিনা যাচাই করতে হবে।

উদাহরণ: nums = [2,5,0,2,0] হলে আউটপুট True, কারণ ০ থেকে ১, তারপর ১ থেকে শেষে জাম্প করা যায়।

সমাধানের ধাপসমূহ

  • n := len(nums)
  • arr := আকার n বুলিয়ান অ্যারে, সব false, arr[n-1] = True
  • i = n-2 থেকে 0 পর্যন্ত রিভার্স লুপ: arr[i] = True যদি arr[i+1 : i+nums[i]+1]-এ কোনো True থাকে।
  • 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 দূরত্বে निकটতম কন্ট্যাক্ট থেকে দাঁড়ানো সম্ভব কিনা যাচাই করার প্রোগ্রাম