转自:

www.cnblogs.com/shoker/p/3998270.html

一 问题描述:

九宫格,就是手机手势密码。有三问,一问是如果只设置2位密码,有多少种满足的密码,密码不能穿越,比如1 3之间穿过2,这是不允许的;第二问,如果变成N*M格,判断一个2位密码是否是满足要求的密码(要求同1),第三问,如果设置密码位数为9位,有多少种合适的密码,给出算法思路,并给出伪代码。

二 算法思路

分析一下九宫格如下图所示

1   2   3

4   5   6

7   8   9

不难看出,可以把所有点分成三类:

1 3 5 9为一类,2 4 6 8 为一类,5单独为1类。

第一类点,任意2点都不能互联,但是如果两点之间的已经用过,这时是可以互联的,这点一定要注意。

第二类点,2 8 是不能直接连的,4 6也是不行的,但是如果5已经用过,它们就变成可以连接的点了。

第三类点只有5一个,它与所有点之间都是可以直接连的。

求全排列的算法,网上有2中,一种是递归算法,另一种是非递归算法。不清楚的请百度之,博客园里也已经有很多大牛写过博客了,不再赘述。

我采用的是简单的递归算法,一是思路比较清晰,也好理解。并且此题深度不大,只有9,故DFS是可以的。

三 代码验证:

直接贴出代码截图吧:

四 试验结果

打印的结果太多,不显示了:

只贴出最后的解决方案总数:

389112

截图如下:

网易笔试题-九宫格密码相关推荐

  1. 算法与数据结构——网易笔试题(一)

    算法题 13:二叉堆(网易2016实习研发工程师) 思路: ********************************************************************** ...

  2. 2018 web 网易笔试题

    想进网易同学注意了,这里是修真院面试笔记整理,那么这里就给大家分享一下 [2018 web 网易笔试题] 项目里用到了react,为什么要选择react,react有哪些好处? 面试官又接着问,那怎么 ...

  3. 比较重量(网易笔试题)

    小明陪小红去看钻石,他们从一堆钻石中随机抽取两颗并比较她们的重量.这些钻石的重量各不相同.在他们们比较了一段时间后,它们看中了两颗钻石g1和g2.现在请你根据之前比较的信息判断这两颗钻石的哪颗更重. ...

  4. 网易笔试题 找朋友 真的是找朋友

    题目 : friend set 时间限制:5000ms 单点时限:1000ms 内存限制:256MB 描述现在存有大量一对好友的列表,好友的好友也是好友,所有有好友关系的形成一个圈子,请找出圈子中的人 ...

  5. 网易python笔试题_python 饥饿的小易(网易笔试题)

    本周早些时候,学弟给我发了一道网易的笔试题,饥饿的小易,感觉有点意思-分享给大家 题目描述: 小易总是感觉饥饿,所以作为章鱼的小易经常出去寻找贝壳吃.最开始小易在一个初始位置x_0.对于小易所处的当前 ...

  6. 网易笔试题(java 、 c++ 、软件测试等)

    A卷(研发类笔试题) 第一部分(必做): 计算机科学基础 1. (单选)软件设计中模块划分应该遵循的准则是:     A.低内聚低耦合 B.高内聚低耦合 C.低内聚高耦合 D.高内聚高耦合 2. (单 ...

  7. 2009年网易笔试题

    A卷(研发类笔试题) 第一部分(必做): 计算机科学基础 1. (单选)软件设计中模块划分应该遵循的准则是:     A.低内聚低耦合 B.高内聚低耦合 C.低内聚高耦合 D.高内聚高耦合 2. (单 ...

  8. 网易笔试题——骰子游戏

    网易试题 小易参加了一个骰子游戏,这个游戏需要同时投掷n个骰子,每个骰子都是一个印有数字1~6的均匀正方体. 小易同时投掷出这n个骰子,如果这n个骰子向上面的数字之和大于等于x,小易就会获得游戏奖励. ...

  9. 顺丰科技2017年秋招笔试题“木木的密码”

    原公式是Ai = Bi - B(i+1)+B(i+2)-- 可以反向思维想, 当i= n时,就是i最大时,An = Bn 即 Bn = An; 当i = n - 1时, A(n-1) = B(n-1) ...

最新文章

  1. 阿里巴巴图学习框架 euler 安装运行记录
  2. python 列表 头部 尾部 添加元素
  3. cscope使用技巧
  4. shell编程题(四)
  5. python装饰器的使用
  6. 【HDU - 1867 】A + B for you again(KMP,next数组应用)
  7. 基于机器学习的网络安全态势感知
  8. GitHub 报告:中国755万开发者排全球第二
  9. stage3图书管理系统服务器部署
  10. javascript中隐藏显示的样式表属性
  11. 基于HAL库使用cubemx配置,驱动MAX30102血氧传感器基础历程
  12. VBA字典数组转置维度变化
  13. java拨号上网,Android实现pppoe拨号上网(二)具体步骤
  14. Matlab读取图像,显示H、S、V分量
  15. 例5-3 安迪的第一个字典(Andy‘s First Dictionary,UVa 10815)
  16. MXT6208量产修复工具+v2.0非常好用哦!
  17. roboguide仿真 机器人轨迹绕圈走
  18. 高数巨占座问题(c语言)
  19. 1235813找规律第100个数_2018年中考数学规律探索题(中考找规律题目-有答案)
  20. CocosCreator-3D 拖动卡片放置3d物体

热门文章

  1. macOS 控件教程(2)
  2. hadoop组成及其架构
  3. Silverlight MMORPG网页游戏开发课程[一期] 序言
  4. redis学习笔记(八)布隆过滤器
  5. 分享:微软网络电视Internet TV方面的一些消息
  6. 2022年有哪些降噪耳机?高性价比降噪耳机推荐
  7. Learn C with me
  8. Mysql系统性基础学习
  9. 波士顿地区房价预测完整数据集(CSV格式)
  10. 2022大一新生买什么电脑好?这几款值得考虑