每日算法3-vivo智能手机锁屏有效总数[图解]
题目
现有一个 3x3 规格的 Android 智能手机锁屏程序和两个正整数 m 和 n ,请计算出使用最少m 个键和最多 n个键可以解锁该屏幕的所有有效模式总数。
其中有效模式是指:
1、每个模式必须连接至少m个键和最多n个键;
2、所有的键都必须是不同的;
3、如果在模式中连接两个连续键的行通过任何其他键,则其他键必须在模式中选择,不允许跳过非选择键(如图);
4、顺序相关,单键有效(这里可能跟部分手机不同)。
输入:m,n 代表允许解锁的最少m个键和最多n个键
输出: 满足m和n个键数的所有有效模式的总数
解析
public class Solution {//用来存储两个键相连经过其他键情况private static int[][] arr = new int[10][10];//动态初始化boolean数组 默认值为falseprivate static boolean[] select = new boolean[10];public static int solution (int m, int n){//三行 1和3连线必须2已经连入arr[1][3] = arr[3][1] = 2;arr[4][6] = arr[6][4] = 5;arr[7][9] = arr[9][7] = 8;//三竖arr[1][7] = arr[7][1] = 4;arr[2][8] = arr[8][2] = 5;arr[9][3] = arr[3][9] = 6;//两条对角线arr[1][9] = arr[9][1] = 5;arr[3][7] = arr[7][3] = 5;//用于判断是否可以可以连入 二位数组 int默认值为0 没有跨节点下标为0就是trueselect[0] = true;if (m < 0 || n < m) {return 0;}// 1 3 7 9情况合并 2 4 6 8情况合并 5一种情况int total = 4 * calculateCount(m ,n, 1, 1) + 4 * calculateCount(m ,n, 2, 1)+ calculateCount(m ,n, 5, 1);return total;}private static int calculateCount(int min, int max, int start, int len) {int count = 0;if (len > max) {return 0;}if (len >= min) {count++;}select[start] = true;for (int i = 1; i < 10; i++) {//当前节点start没有被选人 并且开始节点start到当前节点i不是跨节点连接if (!select[i] && select[arr[start][i]]) {count = count + calculateCount(min, max, i, len + 1);}}select[start] = false;return count;}
}
每日算法3-vivo智能手机锁屏有效总数[图解]相关推荐
- 拇指锁屏APP:时代新起锁屏之秀
拇指锁屏是基于智能手机锁屏功能开发的一款试玩赚钱类软件.能帮助用户充分利用碎片化时间获取收益,只要有手机就能随时随地赚钱,动动手指,收益到账.拇指锁屏提供多种赚钱方式,用户通过完成任务与建立师徒关系获 ...
- 计算机键盘上怎么锁屏,锁屏快捷键,教您电脑锁屏键怎么用
小可爱们知道我今天要说的内容是什么吗?小编大大我今天要说的对于小可爱们来说是有帮助的内容哟~那就是当我们不玩电脑时,为了节省电量,一般都会选择让电脑休眠.那么今天我要说的就是电脑的锁屏快捷键要怎么用. ...
- iphone主屏幕动态壁纸_【每日一技】使用“实况照片”打造iPhone锁屏动态壁纸
原标题:[每日一技]使用"实况照片"打造iPhone锁屏动态壁纸 当我们使用 iPhone 拍照时,可以选择拍摄实况照片,iPhone 将会帮您录下拍照前后 1.5 秒所发生的一切 ...
- win10密码忘了怎么办_VIVO iQOO忘了锁屏密码怎么办?VIVO iQOO忘了锁屏密码进入系统方法...
标签:VIVO iQOO刷机包,VIVO iQOO忘了锁屏密码,VIVO iQOO解锁 [rom之家教程]vivo iQOO手机不小心忘了的锁屏密码的问题,遇到的人应该不多,不过遇到了也是挺麻烦的,这 ...
- [每日app二]月入60万多嘛?单词锁屏的潜力!
抢了用户的时间,就是抢了用户的金钱! 单词锁屏,一个开发难度不太大,但仅仅360手机助手下载就是每周4万!拉风- 对于搞app的同学来说,搞个锁屏,还不是玩似的,但是要定位好,玩得好,那就有难度了.最 ...
- vivo手机快速锁屏方式
用的iqoo z1,不同型号操作可能不同. 锁屏不只一种方法. home键 这个大家都知道,但是频繁按容易坏,这也是寻找快速锁屏的原动力. 安装一键锁屏 安装之后,点一下图标就可以锁屏. 缺点: 实测 ...
- android startactivity 跳到锁屏_「瀑布屏」手机到底好不好用?
最近这几年,各大品牌都在围着手机屏幕打转,推陈出新的势头愈演愈烈.而在刘海屏.水滴屏和挖孔屏种种之后,我们又迎来了一个新名词,瀑布屏. 和当初 vivo 与 OPPO 尝试用升降结构隐藏前置摄像头的目 ...
- 记忆碎片锁屏助手的广告文案初稿
PS:UI现在设计的还太完善,不好意思放到博客上来,于是先空着过一段时间补吧 你是否还在为无法高效利用你每天的碎片时间而担心呢? 来看看我们的产品--记忆碎片锁屏助手吧! 有人的地方就有江湖,有智能手 ...
- oppo锁屏断网设置在哪里呀_oppo手机锁屏设置在哪里?
展开全部 oppo手机锁屏设置在62616964757a686964616fe58685e5aeb931333363396463哪里?我们打开手机主菜单,找到[设置]一栏,点击打开: 然后在[显示]一 ...
最新文章
- 登上Science子刊,神经科学再次启发DNN设计!中科院揭秘介观自组织反向传播机制...
- 抛弃windows用linux来工作吧
- 如何用C语言编写wav读取函数,C++读取WAV音频文件的头部数据的实现方法
- 变频器输出功率_工业电气设计|变频器的输出功率该如何选择?
- CentOS 6.5 Nginx 配置
- 云计算和主机托管有哪几点不同?
- Django(6)-orm
- 卡尔曼滤波学习小记 How a Kalman filter works, in pictures
- 微商怎么引流被加精准粉?微商有效引流被加方法
- 前段时间的学习小结——体脂率的计算
- 里氏转换,arraylist,path,file
- hotmail手机端_hotmail邮箱登陆手机版 参见http://help.
- html浏览器pc端禁止缩放,阻止pc端浏览器缩放js代码
- python骰子游戏分析_两个骰子的Python概率骰子游戏
- ST_Geometry 的关系函数
- 门禁控制器的选购指南
- 数据库安装mysql失败解决方案
- 多线程(一)——委托与多线程
- 复杂网络分析 08网络节点重要性
- 云、CDN、IDC 三个概念的区别是什么