跳躍游戲2

題目要求

給定一個(gè)非負(fù)整數(shù)數(shù)組,你最初位于數(shù)組的第一個(gè)位置。
數(shù)組中的每個(gè)元素代表你在該位置可以跳躍的最大長(zhǎng)度。

你的目標(biāo)是使用最少的跳躍次數(shù)到達(dá)數(shù)組的最后一個(gè)位置。

示例:

輸入: [2,3,1,1,4]
輸出: 2
解釋: 跳到最后一個(gè)位置的最小跳躍數(shù)是 2。
從下標(biāo)為 0 跳到下標(biāo)為 1 的位置,跳 1 步,然后跳 3 步到達(dá)數(shù)組的最后一個(gè)位置。
說(shuō)明:

假設(shè)你總是可以到達(dá)數(shù)組的最后一個(gè)位置。

解題思路

1.使用動(dòng)態(tài)規(guī)劃,dp[i]代表從下標(biāo)為0的位置走到第i步需要的最少跳躍次數(shù).時(shí)間復(fù)雜度是0(N^2)

 public int jump(int[] a) {
     int[] dp = new int[a.length];
        dp[0] = 0;
        for (int i = 1; i < a.length; i++) {
            dp[i] = Integer.MAX_VALUE;
            for (int j = 0; j < i; j++) {
                if (i - j <= a[j]) {
                    dp[i] = Math.min(dp[i], dp[j] + 1);
                }
            }
        }
        return dp[a.length - 1];
    }

2.遍歷一次數(shù)組,每走一步的時(shí)候判斷當(dāng)前數(shù)字范圍內(nèi)能夠走到的最遠(yuǎn)距離。時(shí)間復(fù)雜度O(n).

微信圖片_20190419223139.jpg
   public int jump(int[] a) {

        int jumpTimes = 0;
        int maxPosition = 0;
        int reached = 0;
        for (int i = 0; i < a.length; i++) {
            if (reached < i) {
                jumpTimes++;
                reached = maxPosition;
            }
            maxPosition = Math.max(maxPosition, i + a[i]);
        }
        return jumpTimes;
    }
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 鏈接如下: 跳躍游戲二 - 題庫(kù) - 計(jì)蒜客 這是上一個(gè)條約游戲的延伸.看到這題第一個(gè)想法是把所有情況列出來(lái),但是...
    墜木閱讀 345評(píng)論 0 4
  • 【鏈接】https://nanti.jisuanke.com/t/20【題目】給定一個(gè)非負(fù)整數(shù)數(shù)組,假定你的初始位...
    Airycode閱讀 327評(píng)論 0 0
  • 今天繼續(xù)寫(xiě)一道動(dòng)態(tài)規(guī)劃題目 給定一個(gè)非負(fù)整數(shù)數(shù)組,假定你的初始位置為數(shù)組第一個(gè)下標(biāo)。 數(shù)組中的每個(gè)元素代表你在那個(gè)...
    小熊_寶寶閱讀 826評(píng)論 0 0
  • LeetCode 55. Jump Game一個(gè)數(shù)組存儲(chǔ)了非負(fù)整型數(shù)據(jù),數(shù)組中的第i個(gè)元素nums[i],代表了可...
    徐凱_xp閱讀 439評(píng)論 0 0
  • 《牛津中階英漢雙解詞典》(ISBN9787100044950 我從沒(méi)想過(guò)一個(gè)人頭上的hair(毛發(fā))有這么多細(xì)致的...
    如果飛閱讀 449評(píng)論 0 0

友情鏈接更多精彩內(nèi)容