আমরা কেবল প্রথম উপাদান থেকে শুরু করতে পারি এবং বারবার প্রথম উপাদান থেকে পৌঁছানো যায় এমন সমস্ত উপাদানের জন্য কল করতে পারি। প্রথম থেকে শেষ পর্যন্ত পৌঁছাতে ন্যূনতম লাফের সংখ্যা গণনা করা যেতে পারে প্রথম থেকে পৌঁছানো যায় এমন উপাদানগুলি থেকে শেষ পর্যন্ত পৌঁছানোর জন্য ন্যূনতম সংখ্যক জাম্প ব্যবহার করে।
অ্যারে =={1, 3, 6, 3, 2, 3, 6, 8, 9, 5};
প্রয়োজনীয় ধাপের সংখ্যা হল 4
উদাহরণ
using System; namespace ConsoleApplication{ public class Arrays{ public int MinJumps(int[] arr, int l, int h){ if (h == l) return 0; if (arr[l] == 0) return int.MaxValue; int min = int.MaxValue; for (int i = l + 1; i <= h && i <= l + arr[l]; i++){ int jumps = MinJumps(arr, i, h); if (jumps != int.MaxValue && jumps + 1 < min) min = jumps + 1; } return min; } } class Program{ static void Main(string[] args){ Arrays a = new Arrays(); int[] arrm = { 1, 3, 6, 3, 2, 3, 6, 8, 9, 5 }; int n = arrm.Length; Console.Write(" Minimum number of jumps to reach end is " + a.MinJumps(arrm, 0, n - 1)); } } }
আউটপুট
4