(注意:这是我之前的挑战“ 找到无限的单词!”的一个简单衍生品,这是我之前的其他挑战“ 找到旋转的单词!”的一个衍生产品:))
波浪字的定义:
- 如果您用曲线连接字母(AZ)上的波浪字的所有字符,您将获得不断向右或向左而不改变方向的波浪路径,如下图所示。
- 一个波浪字可以是:
- 提高每个连续字符是否在前一个字符的右侧(字母上)。
- 减少每个连续字符是否在前一个字符的左侧(字母上)。
- 所有偶数连接必须断开,所有奇数连接必须断开。
- 您可以忽略大写/小写或全部考虑/转换为大写或全部转换为小写。
- 输入的单词仅是AZ字母范围内的字符,没有空格,标点符号或符号。
- 如果单词包含双精度字符,例如“ SPOON”,则必须将双精度折叠为一个字符:“ SPOON”>“ SPON”(因为从O到O的距离为零距离)。
- 该波浪词将含有至少3个不同的字符(双打塌陷甚至之后)。
这里有一些例子:
任务:
编写一个完整的程序或函数,该函数将从标准输入中提取一个单词,如果不是波浪形单词,则将输出,如果是波浪形单词,则将其输出;如果是上升或下降,则将输出。输出可以是True/False/Null
,2/1/0
,1/Null/0
,-1/0/1
,NO/WR/WD
,等你决定如何来代表它。
测试用例:
WAVY WORDS:
ADEPT, BEGIN, BILL, BOSS, BOOST, CHIMP,
KNOW, SPONGE, SPOON, TROLL, WOLF
ADEPT > YES > RAISING
BEGIN > YES > RAISING
BILL > YES > RAISING
BOSS > YES > RAISING
BOOST > YES > RAISING
CHIMP > YES > RAISING
KNOW > YES > RAISING
SPONGE > YES > DECREASING
SPOON > YES > DECREASING
TROLL > YES > DECREASING
WOLF > YES > DECREASING
NOT WAVY WORDS:
WATCH, EARTH, NINON, FOO, BAR, WAVE, SELECTION,
YES, NO, DEFINITION, WATER, WINE, CODE, AAAHHHH, I, MM, ABCA
规则:
- 最短的代码胜出。
可选任务:
作为列表,在英语词典中查找尽可能多的波浪词,并且最长。例如,您可以在此处参考英语单词的完整列表。
NO
并且FOO
不是您的规则的有效输入。
NOT WAVY WORDS
节中,但这是正确的。–