最近闲来无事,在网上翻看各种面试题,无意中发现了这道题,计算所有手势密码的组合可能,觉得挺有意思的,简单写了一下,与小伙伴们分享下。

题目如下:

以下是代码实现

package test.gesture;import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;public class Gesture {private static int[][] gestureMatrix = new int[3][3];static{int x=0;for(int i=0;i<3;i++){for(int j=0;j<3;j++){gestureMatrix[i][j]=++x;}}}private static List<List<Integer>> gestureCodes = new ArrayList<List<Integer>>();private static int gesture = 0;public static void main(String[] args) {Scanner scanner = new Scanner(System.in);int num = 0;while(true){System.out.println("请输入手势位数:");num = scanner.nextInt();if(num<2){System.out.println("手势位数必须不少于2位数!");continue;}else{break;}}getGestureCodes(num);scanner.close();}public static void getGestureCodes(int num){gesture = num;for(int i=0;i<gestureMatrix.length;i++){for(int j=0;j<gestureMatrix[i].length;j++){List<Integer> gesturCode = new ArrayList<Integer>(); getGestureCode(gesturCode, i, j);}}}public static void getGestureCode(List<Integer> gesturCode, int i, int j){if(!gesturCode.contains(gestureMatrix[i][j])){gesturCode.add(gestureMatrix[i][j]);if(gesturCode.size()==gesture){System.out.println("组合:"+gesturCode);gestureCodes.add(gesturCode);return ;}}else{return ;}/*向上*/if(i-1>=0){List<Integer> gesturCode1 = new ArrayList<Integer>();gesturCode1.addAll(gesturCode);getGestureCode(gesturCode1, i-1, j);}/*向右*/if(j+1<3){List<Integer> gesturCode1 = new ArrayList<Integer>();gesturCode1.addAll(gesturCode);getGestureCode(gesturCode1, i, j+1);}/*向下*/if(i+1<3){List<Integer> gesturCode1 = new ArrayList<Integer>();gesturCode1.addAll(gesturCode);getGestureCode(gesturCode1, i+1, j);}/*向左*/if(j-1>=0){List<Integer> gesturCode1 = new ArrayList<Integer>();gesturCode1.addAll(gesturCode);getGestureCode(gesturCode1, i, j-1);}}
}

小伙伴如果有更好的方式,可以留言分享

计算手机锁屏界面所有手势密码的组合相关推荐

  1. 锁屏界面提示某些设置已隐藏_OPPO忘记锁屏密码怎么办?教你一招轻松解开!...

    忘记锁屏密码怎么办 打不开手机好着急 现在不用担心, 教你一招解锁 再也不用怕忘记密码啦 一起来看看吧~ 解锁方式1 1.如果之前有通过[设置]-[指纹.面部与密码]-[锁屏密码]-[绑定安全邮箱]设 ...

  2. 锁屏界面提示某些设置已隐藏_iOS 13隐藏手电筒和相机快捷图标

    在iPhone X及其以上的机型,在iOS 13出现一个bug,通过触发这个bug,就可以隐藏手机锁屏界面的手电筒和相机快捷图标,界面更加简洁.那么又是如何操作的呢. 设置教程 首先,锁屏界面在中间上 ...

  3. android 魔力锁屏源码,打造最炫手机锁屏桌面 10款安卓魔力锁屏主题推荐

    安卓魔力锁屏主题:个性情侣锁屏 这又是一款非常新潮的安卓魔力锁屏主题.锁屏界面上有一对情侣拿着手枪,界面展现方式与iPhone的非常相似.解锁方式采用的是屏幕下端横向拉动解锁. 安卓魔力锁屏主题:个性 ...

  4. 锁屏界面提示某些设置已隐藏_息屏还有这些“骚操作”,华为这几个隐藏小功能快用起来...

    现在手机系统更新太快了,有时候根本不知道新手机到底有什么便捷功能! 确实,很多小伙伴换了新手机后,都没怎么对系统深入研究,每当得知的时候就一脸"相见恨晚". 对于经常搞机.喜欢发掘 ...

  5. android 输入锁屏密码错误,安卓系统手机锁屏密码输错被停用了如何解决

    手机对于大家来说并不陌生,它已经成为了人们的生活和工作中必不可少的一部分,然而处于安全考虑,每个使用手机的用户都会将自己的手机设置锁屏密码,无论是手势锁.密码锁.人脸识别等等,当然只有知道密码的人才能 ...

  6. adb清除手机锁屏密码或图案密码方法

    Android手机锁屏密码忘记怎么办呢?新款手机忘记锁屏密码,可以到手机品牌官方在线解除限制.老版本的Android手机,通过重启手机后,同时按住电源键与音量+/-键进入Recovery模式,恢复出厂 ...

  7. android系统密码设置功能,手机锁屏密码怎么设置 三种安卓手机锁屏方式推荐

    手机中有很多应用都是与金钱挂钩,特别是微信与支付宝等等既涉及到隐私又与财产关联,这是后手机的安全就尤为重要的,而手机的锁屏密码就是一道最基本的防护措施,那么手机锁屏密码怎么设置?来看看小编推荐的三种安 ...

  8. 手机锁屏密码忘记了怎么办,清除锁屏的办法

    现在的人为了隐私几乎都喜欢给自己的手机设置一个锁屏密码,一般人会拿自己的生日或者爸妈.情人生日等纪念日作为锁屏密码,但是也有一些随心所欲的人突然想到一组数字或者手势就把它设为锁屏密码了.但这样的结果往 ...

  9. 魅蓝e格机解锁方法_魅蓝E手机锁屏密码忘了怎么办?忘了手机密码怎么办?

    众所周知,手机已经成为了我们日常生活中的一部分.但是有些粗心大意的朋友,往往前一天晚上刚设置的密码,到第二天早上想要用手机的时候突然忘了手机密码,那么小编今天就教大家怎么解决这个问题. 手机锁屏密码忘 ...

最新文章

  1. 【Android 热修复】热修复原理 ( 热修复框架简介 | 将 Java 字节码文件打包到 Dex 文件 )
  2. java非法字符65289_求详细点的回答 谢谢
  3. unique函数_Office 365函数新世界:动态数组
  4. from import 导入时找不到module的解决办法(Python模块包中_init_.py文件的作用)
  5. 一行代码实现底部导航栏TabLayout
  6. react 小程序转换_如何将AngularJS 1.x应用程序转换为React应用程序-一次转换一个组件。
  7. 真香!全场景AI计算开源框架MindSpore,我爱了
  8. 广域网访问局域网路由器设置_交换机路由器如何连接 交换机路由器连接方法【详解】...
  9. Python:获取命令行参数
  10. Go 语言——基本类型
  11. Opencv_HIGHGUI ERROR: V4L/V4L2: VIDIOC_S_CROP解决方案
  12. 【图像隐写】基于matlab GUI DWT+DCT+SVD数字水印嵌入提取攻击(带面板)【含Matlab源码 1664期】
  13. sql2005下载地址
  14. 基于VxWorks的VxBus字符设备驱动
  15. 【UVM芯片漫游指南_000】总目录(下)——UVM目录
  16. Windows socket测试工具
  17. Dr.com校园网客户端故障解决方法
  18. 微软Windows 11官方超高清4K壁纸提前放出,免费下载
  19. python交通调查数据处理_Python突破高德API限制爬取交通态势数据+GIS可视化(超详细)...
  20. 第八章、所有者权益及损益的核算

热门文章

  1. sql中的几种删除操作
  2. Android:序列化总结
  3. 一个完善的产品设计流程是怎样的?
  4. HashMap中巧妙获取2的幂次
  5. PaddleOCR测试报告
  6. jquery制作拉开帷幕特效
  7. 我们需要加班防沉迷系统
  8. 极客窝技术交流会-0930
  9. AppInfoPro 获取手机应用信息
  10. 2020款凯迪拉克与2019款昂科威:真实油耗对比