Leetcode - Frog Jump

My code:

public class Solution {
    public boolean canCross(int[] stones) {
        if (stones == null || stones.length == 0) {
            return false;
        }
        
        Map<Integer, Set<Integer>> map = new HashMap<Integer, Set<Integer>>();
        map.put(0, new HashSet<Integer>());
        map.get(0).add(1);
        for (int i = 1; i < stones.length; i++) {
            map.put(stones[i], new HashSet<Integer>());
        }
        
        for (int i = 0; i < stones.length; i++) {
            int base = stones[i];
            for (Integer step : map.get(stones[i])) {
                int reach = base + step;
                if (reach == stones[stones.length - 1]) {
                    return true;
                }
                if (map.containsKey(reach)) {
                    Set<Integer> set = map.get(reach);
                    set.add(step);
                    set.add(step + 1);
                    if (step - 1 > 0) {
                        set.add(step - 1);
                    }
                }
            }
        }
        
        return false;
    }
}

reference:
https://discuss.leetcode.com/topic/59903/very-easy-to-understand-java-solution-with-explanations/2

没想出来。
感觉已经没有思考新题的能力了。。。
悲哀

Anyway, Good luck, Richardo! -- 10/21/2016

推荐阅读更多精彩内容

  • 背景 一年多以前我在知乎上答了有关LeetCode的问题, 分享了一些自己做题目的经验。 张土汪:刷leetcod...
    土汪阅读 11,659评论 0 33
  • 文笔不好,大家见谅,此文只是自己对现在生活的一时感慨而已。 我现在的生活过的平淡顺遂,虽有些沟沟坎坎,有时亦闹闹腾...
    JulyH阅读 133评论 0 0
  • 研究Material Design(UX&UI)目的在于: 丰富设计思维并且能够应用到设计工作中” “我们挑战自我...
    设计侠阅读 611评论 3 20
  • 路线:家-若尔盖-西宁-青海湖-甘肃张掖-祁连县-宁夏中卫-银川-延安-西安-阆中古城- 家 景点:花湖 青海湖 ...
    她与他梦阅读 115评论 0 0
  • 11月21日,天空阴沉,有北风。 马小河背着帆布背包,穿着一件有些过长的海军衫,大步走在一片丛林石径上。 如果沿着...
    Kris阅读 324评论 0 2