কম্পিউটার

আমরা পাইথনে শব্দের তালিকা দিয়ে লক্ষ্য বানান করতে পারি বা না তা পরীক্ষা করার জন্য প্রোগ্রাম


ধরুন আমাদের কাছে সংখ্যার একটি তালিকা আছে যাকে nums বলা হয় এবং আরেকটি সংখ্যা k। যদি আমরা সূচী k এবং যেকোন সূচক i থেকে শুরু করি, আমরা সঠিক সংখ্যা[i] ধাপে বাম বা ডানে যেতে পারি। আমরা তালিকার শেষ পর্যন্ত পৌঁছাতে পারি কি না তা পরীক্ষা করতে হবে।

সুতরাং, যদি ইনপুটটি nums =[0, 0, 2, 1, 3, 3, 1, 1] k =2 এর মত হয়, তাহলে আউটপুটটি True হবে, যেমন আমরা সূচী 2 থেকে শুরু করি, তারপর সূচী 4-এ যান। এবং তারপর শেষ সূচক 7 এ ঝাঁপ দাও।

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

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

  • পরিদর্শন করেছেন :=আকার n এর একটি তালিকা এবং 0

    দিয়ে পূরণ করুন
  • tovisit :=আকার 1 এর একটি তালিকা, এবং এতে k ঢোকান

  • পরিদর্শন করার সময় <0, করুন

    • i:=tovisit থেকে শেষ উপাদান এবং tovisit থেকে মুছে দিন

    • যদি আমি n-1 এর মত হয়, তাহলে

    • রিটার্ন ট্রু

  • যদি পরিদর্শন করা হয় [i] 1 এর মত না হয়, তাহলে

    • পরিদর্শন করেছেন[i]:=1

    • আপ:=i + সংখ্যা[i]

    • down:=i - nums[i]

    • যদি উপরে

    • ভিজিট করার শেষে সন্নিবেশ করুন

    • যদি নিচে হয়>=0, তাহলে

    • ভিজিট করার শেষে নিচে প্রবেশ করান

  • রিটার্ন ফলস

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

উদাহরণ

class Solution:
   def solve(self, nums, k):
   n=len(nums)
   visited = [0]*n
   tovisit = [k]
   while len(tovisit)>0:
         i=tovisit.pop()
      if i==n-1:
         return True
      if visited[i]!=1:
         visited[i]=1
         up=i+nums[i]
         dn=i-nums[i]
      if up=0:
         tovisit.append(dn)
   return False
ob = Solution()
nums = [0, 0, 2, 1, 3, 3, 1, 1]
k = 2
print(ob.solve(nums, k))

ইনপুট

[0, 0, 2, 1, 3, 3, 1, 1], 2

আউটপুট

True

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

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

  3. স্ট্রিং খালি আছে কি না তা পরীক্ষা করার জন্য পাইথন প্রোগ্রাম

  4. পাইথন প্রোগ্রাম একটি তালিকা খালি কি না পরীক্ষা করতে?