记住密码非常困难,因此我想出了一种生成密码的方法。
按照以下步骤,我是通过单词或句子生成密码的:
从左到右开始
查找每个字母的数量
按顺序把字母和数量放在一起
重复度更高的字母将在结尾
重复相同的字母将按字母顺序排列
数字和特殊字母将被忽略,包括空格(例如9、4,@,(,*等)将被忽略)
组字母忽略大小写。在输出中,使用输入中最后一次出现的情况
- 字母的计数可以是任何数字,例如5H17M345K
- 如果输入为全数字或特殊字母,则输出为空字符串,例如输入“ 12 $ * 34 ^!” 然后输出“”
- 当相同出现的顺序按字母顺序大小写无关紧要时,例如1a1B1c
例:
Input: Kitkat Tango
(2k / 1i / 3T / 2a / 1n / 1g / 1o)
Output: 1g1i1n1o2a2k3T
另一个例子:
Input: Database Partitions Task
(1D / 5a / 4T / 1b / 3s / 1e / 1P / 1r / 2i / 1o / 1n / 3s / 1k)
Output: 1b1D1e1k1n1o1P1r2i3s4T5a
注意:重复次数为1的字母在开头按字母顺序排列,然后重复次数较多的字母
这是代码高尔夫球,最短的代码获胜。
1.
添加至少1个测试案例,其中包括9个以上的出现的一个或多个字母,2.
指定输出必须为字符串(尽管我强烈建议您不要过于严格;它不会给挑战增加任何内容),3.
指定我们必须能够处理不包含字母的输入,并4.
阐明我们是否需要处理空字符串作为输入。