解题语言不限Java
谜题还有第二部分,不过是留给大家的,能解出第一题的,才能写第二题
- Advent of Code Day 1 逆向验证码
- Advent of Code Day 2 损坏校验和
- Advent of Code Day 3 螺旋内存
- Advent of Code Day 4 高熵密码
- Advevnt of Code Day 5 曲折的蹦床迷宫
- Advent of Code Day 6 内存重分配
- Advent of Code Day 7 递归马戏团
- Advent of Code Day 8 注册表爱好者
- Advent of Code Day 9 流处理
- Advent of Code Day 10 结哈希
- Advent of Code Day 11 六边形迷宫
题目内容
A new system policy has been put in place that requires all accounts to use a passphrase instead of simply a password. A passphrase consists of a series of words (lowercase letters) separated by spaces.
一个新的系统规则已经被引入。这个新规则要求每个账号必须使用密码组。一个密码组是由一组被空格分开的词组成。
To ensure security, a valid passphrase must contain no duplicate words.
为了保证安全,一个有效的密码组不能储存两个相同的词
For example:
aa bb cc dd ee
is valid.
aa bb cc dd ee
是有效的
aa bb cc dd aa
is not valid - the word aa
appears more than once.
aa bb cc dd aa
是无效的,因为aa
出现了两次
aa bb cc dd aaa
is valid - aa
and aaa
count as different words.
aa bb cc dd aaa
是有效的
The system's full passphrase list is available as your puzzle input. How many passphrases are valid?
这个系统的密码组列表是你的谜题输入,有多少密码组是有效的?
解题思路
对于这道题:
- 应该是得到每行的输入并且解析每一个密码组中的密码。
- 计算密码的哈希值
- 和过去的密码哈希进行查重(第二声)
- 如果有重合就直接输出否,如果没有就继续循环直到结尾