有点意思,需要动态规划。
from typing import List
from collections import Counter
import timeclass Solution:def jump(self, nums: List[int]) -> int:max_reachable = 0min_steps = 0for i, element in enumerate(nums):if i > max_reachable:return 0if max_reachable >= len(nums) -1:return min_stepsif (i + element) > max_reachable:max_reachable = i + elementmin_steps += 1
def main():start_time = time.time()print(Solution().jump([7,0,9,6,9,6,1,7,9,0,1,2,9,0,3]))end_time = time.time()print("Time taken: {:.6f} seconds".format(end_time - start_time))if __name__ == '__main__':main()