nginx部署前後端分離專案(spring boot + vue)
阿新 • • 發佈:2021-12-10
描述
給定一個非負整數陣列nums
,你最初位於陣列的第一個下標。
陣列中的每個元素代表你在該位置可以跳躍的最大長度。
判斷你是否能夠到達最後一個下標。
連結
55. 跳躍遊戲 - 力扣(LeetCode) (leetcode-cn.com)
解法
貪心方法
- 這個問題就轉化為跳躍覆蓋範圍究竟可不可以覆蓋到終點!
- 每次移動取最大跳躍步數(得到最大的覆蓋範圍),每移動一個單位,就更新最大覆蓋範圍。
- 貪心演算法區域性最優解:每次取最大跳躍步數(取最大覆蓋範圍),整體最優解:最後得到整體最大覆蓋範圍,看是否能到終點。
- 區域性最優推出全域性最優,找不出反例,試試貪心!
1 class Solution {2 public boolean canJump(int[] nums) { 3 if (nums.length <2) return true; 4 //覆蓋範圍 5 int RangeCover = nums[0]; 6 //在覆蓋範圍內更新最大的覆蓋範圍 7 for (int i = 0; i <= RangeCover; i++) { 8 RangeCover = Math.max(RangeCover, i + nums[i]); 9 if(RangeCover >= nums.length - 1) { 10 return true; 11 } 12 } 13 return false; 14 } 15 }
參考
carl