কার্য
অ-নেতিবাচক পূর্ণসংখ্যার অ্যারে দেওয়া হয়েছে a
অ্যারে দেওয়া, 0 অবস্থান থেকে শুরু করে অ্যারের "বাইরে" ঝাঁপ দিতে প্রয়োজনীয় ডান দিকের জাম্পগুলি নির্ধারণ করুন বা এটি করা সম্ভব না হলে শূন্য / নাল ফিরে করুন।
সূচক থেকে একটি লাফi
সর্বাধিক দ্বারা অ্যারে সূচক বৃদ্ধি হিসাবে সংজ্ঞায়িত করা হয় a[i]
।
একটি লাফ বাহিরে একটি লাফ যেখানে সূচক লাফ ফলে হয় i
তাই 1 ভিত্তিক ইন্ডেক্স জন্য, আউট-অফ-সীমা অ্যারের জন্য i>length(a)
, এবং 0 ভিত্তিক ইন্ডেক্স জন্য, i>=length(a)
।
উদাহরণ 1
বিবেচনা করুন Array = [4,0,2,0,2,0]
:
Array[0] = 4 -> You can jump 4 field
Array[1] = 0 -> You can jump 0 field
Array[2] = 2 -> You can jump 2 field
Array[3] = 0 -> You can jump 0 field
Array[4] = 2 -> You can jump 2 field
Array[5] = 0 -> You can jump 0 field
সীমার বাইরে যেতে "জাম্পিং" করে সবচেয়ে সংক্ষিপ্ত পথটির দৈর্ঘ্য রয়েছে 2
:
আমরা লাফ দিতে পারি 0->2->4->outside
যার দৈর্ঘ্য রয়েছে 3
তবে 0->4->outside
দৈর্ঘ্য রয়েছে 2
তাই আমরা ফিরে আসি 2
।
উদাহরণ 2
ধরুন Array=[0,1,2,3,2,1]
:
Array[0] = 0 -> You can jump 0 fields
Array[1] = 1 -> You can jump 1 field
Array[2] = 2 -> You can jump 2 field
Array[3] = 3 -> You can jump 3 field
Array[4] = 2 -> You can jump 2 field
Array[5] = 1 -> You can jump 1 field
এই ক্ষেত্রে, এটা অ্যারের বাইরে ঝাঁপ, তাই আমরা একটি শূন্য / নাল বা মত কোনো অ নির্ণায়ক মান উচিত অসম্ভব ∞
।
উদাহরণ 3
ধরুন Array=[4]
:
Array[0] = 4 -> You can jump 4 field
আমরা অ্যারে এর বাইরে সূচক 0 থেকে সরাসরি এক লাফ দিয়ে লাফ দিতে পারি, তাই আমরা ফিরে আসি 1
।
সম্পাদনা:
ফেরতের মান সম্পর্কে একাধিক প্রশ্নের কারণে: ∞
পালানোর কোনও সুযোগ না থাকলে রিটার্নিং সম্পূর্ণ বৈধ। কারণ, যদি কোনও সুযোগ থাকে তবে আমরা সেই সংখ্যাটি সংজ্ঞায়িত করতে পারি।
এটি কোড-গল্ফ , তাই বাইটের মধ্যে সংক্ষিপ্ততম কোডটি জয়ী!
[2, 3, 1, 1]
।