藍(lán)橋杯 青蛙過河
目的是求一個最小的跳躍能力(y),要想求最小的,首先要能想出一個方法判斷能否跳過去。
所謂“往返”、“天數(shù)”的條件簡化一下,題目變成求經(jīng)過2x次的最小跳躍能力。
一個能跳過去的充要條件是:每一個長度為y的區(qū)間,其中所有石頭的高度加和要>=2x。
至于這個y如何確定?可以從1開始循環(huán)得到;也可以使用二分法進(jìn)行查詢,時間復(fù)雜度應(yīng)當(dāng)分別是O(n)和O(log2n)
標(biāo)簽:
目的是求一個最小的跳躍能力(y),要想求最小的,首先要能想出一個方法判斷能否跳過去。
所謂“往返”、“天數(shù)”的條件簡化一下,題目變成求經(jīng)過2x次的最小跳躍能力。
一個能跳過去的充要條件是:每一個長度為y的區(qū)間,其中所有石頭的高度加和要>=2x。
至于這個y如何確定?可以從1開始循環(huán)得到;也可以使用二分法進(jìn)行查詢,時間復(fù)雜度應(yīng)當(dāng)分別是O(n)和O(log2n)