总结一下这道题: 我做了 两三天了,头疼, 一度想放弃…
最初的思路:和平常题目一样,做个class 然后用队列 来进行bfs 但是问题是,怎么标记已访问的点,(当时真的不会)今天学了哈希表,感觉真的!!!!!!!!!!!!!!!!好用
而且哈希查找的速度是O(1) 很快, 刚开始思路很迷,做到一半就做不下去了
今天看了一下别的知识: 就状态的转移来讲,如果最后到达的状态是一个图,而状态的转移也是一个图,(可能说的比较绕,其实就是数组的表示 ,我在这用的是String记录状态),那么就用HashMap<String,X>形式,
对比题目,如果求的是bfs 最少次数/和最短XXX 这里HashMap<String,X> X就可以写为Integer,来记录0-n,
!!!!!!!!!!!!!!!!!!!!如果说。题目要求输出的是 最短的路径!而非数字的话,
就可以用String代替Integer,在每一个状态转移的时候,通过String+String的格式加上此步的位置状态
最后只需要遍历找到end退出然后查出end 的String,一个个输出即可。