本题采用贪心算法
贪心算法的关键在于选取一个正确的贪心策略
显然 每一都选择蹦到最远的位置是一个错误的贪心策略 比如 4 2 2 0 1 如果选择最远的则上来蹦到0的位置结果返回false 显然是错误的
那么选择一个什么样的贪心策略才是合适的
这里想到了dijk算法的特点 没新增加一个节点都会重新计算一次最短路径
在本题中那就是每新来一个元素重新计算一下新增加这个元素之后当前集合所能跳的最远长度
用一个整数维护当前集合的最远长度 当新来一个元素时将最远长度减一 然后将结果与新来的元素的值比较 然后更新或者保持这个最远长度
这个算法写起来很简单 几行就可以搞定