天天看點

【LeetCode-45】Jump Game II

運用了動态規劃的思想,希望不要被我寫的代碼搞糊塗

public class JumpGameII {
	public int jump(int[] nums) {
		if(nums == null || nums.length == 0){
			return 0;
		}
		int[] steps = new int[nums.length];
		Arrays.fill(steps, Integer.MAX_VALUE);
		steps[0] = 0;
		//先執行一遍,這種書寫方式要記着
		int j = 0;
		for(int i = 0;i < steps.length;){
			for(;j <= nums[i] + i && j < steps.length;j ++){
				if(steps[i] + 1 < steps[j]){
					steps[j] = steps[i] + 1;
				}
			}
			i ++;
			j = nums[i - 1] + i; 
		}
		
		return steps[steps.length - 1];
    }
}