
Data Structure
Networking
RDBMS
Operating System
Java
MS Excel
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
Minimum Number of Hops to Reach End Position in Python
Suppose we have one array nums, where all elements are positive. We are at index 0. Here, each element in the array represents our maximum jump length at that position. Our goal is to reach to the final index (n-1, where n is size of nums) with less number of jumps. So if the array is like [2,3,1,1,4], and then the output will be 2, as we can jump to index 1 from 0, then jump to index 4, that is the last index.
To solve this, we will follow these steps −
- end := 0, jumps := 0, farthest := 0
- for i in range 0 to length of nums – 1
- farthest := max of farthest and nums[i] + i
- if i is end, and i is not length of nums – 1, then
- increase jumps by 1
- end := farthest
- return jumps
Let us see the following implementation to get better understanding −
Example
class Solution(object): def jump(self, nums): end = 0 jumps = 0 farthest = 0 for i in range(len(nums)): farthest = max(farthest,nums[i]+i) if i == end and i != len(nums)-1: jumps+=1 end = farthest return jumps ob = Solution() print(ob.jump([3, 4, 3, 0, 1]))
Input
[3, 4, 3, 0, 1]
Output
2
Advertisements