摘要:
晚饭时和同事聊到安卓屏幕解锁时会有多少种解锁方案,觉得很有趣,吃完饭开始想办法解题,花了大概2个小时解决。思路如下:使用索引值0-9表示从左到右、从上到下的9个点,行、列号很容易从索引值得到;使用一个列表(routeList)来表示解锁路径,列表的元素为点的索引值;从任意点N出发(将index(N)放入routeList),判断与哪些点(集合NextNodes)可以构成合法路径;然后用递归的方式从NextNodes中的点出发,寻找下一个可以构成合法路径的点;直到再也无法找到可用的点供路径使用下一步,就是在Nexus 7上捣鼓,发现Android定义合法的解锁路径必须满足下列条件:构成路径的点不 阅读全文