晚饭时和同事聊到安卓屏幕解锁时会有多少种解锁方案,觉得很有趣,吃完饭开始想办法解题,花了大概2个小时解决.思路如下: 使用索引值0-9表示从左到右.从上到下的9个点,行.列号很容易从索引值得到: 使用一个列表(routeList)来表示解锁路径,列表的元素为点的索引值: 从任意点N出发(将index(N)放入routeList),判断与哪些点(集合NextNodes)可以构成合法路径:然后用递归的方式从NextNodes中的点出发,寻找下一个可以构成合法路径的点:直到再也无法找到可用的点供路径使…