一道嚼烂的面试题
这到面试题已经碰到过N次,碰到第一次之后就开始机械的背诵答案。今天用编程方法解决。
如果大家有什么独特解决问题的方法 欢迎一起学习和探讨
某一密码仅使用K、L、M、N、O共5个字母,密码中的单词从左向右排列,密码单词必须遵循如下规则:
(1) 密码单词的最小长度是两个字母,可以相同,也可以不同
(2) K不可能是单词的第一个字母
(3) 如果L出现,则出现次数不止一次
(4) M不能使最后一个也不能是倒数第二个字母
(5) K出现,则N就一定出现
(6) O如果是最后一个字母,则L一定出现
问题一:下列哪一个字母可以放在LO中的O后面,形成一个3个字母的密码单词?
A) K B)L C) M D) N
问题二:如果能得到的字母是K、L、M,那么能够形成的两个字母长的密码单词的总数是多少?
A)1个 B)3个 C)6个 D)9个
问题三:下列哪一个是单词密码?
A) KLLN B) LOML C) MLLO D)NMKO
你可能很快的就能知道这些答案。1.B 2.A 3.C
如果用程序如何解决
上面的六条规则用正则表达式再好不过了
总结下来放到一个数组中如下
我尝试去解决第一道题目
最后的结果为:
LOL
第二道题
结果为 1 只有一个满足条件LL
第三道题目
结果为 MLLO