字谜求解(unscrambling)指从一组字母中找出所有合法的单词,且每个字母最多使用一次。在西班牙语字谜场景里,这是 palabras desordenadas、Scrabble en español、各类语言学习小游戏的核心机制。输入打乱的字母后,工具会从内置的约 450 词西班牙词典中匹配所有可能的结果,按词长分组、长词在前。
匹配算法的内部逻辑
匹配采用 multiset(多重集)思路:词典中的每个候选词被拆成字母列表,再与输入字母逐项比对——候选词的每个字母都要能从输入池中找到,且不可重复使用同一个位置的字母。比对前,输入字母与词典词都经过归一化处理:去除重音、把 ñ 统一为 n,因此输入「pajaro」依然能匹配词典里的「pájaro」。整个算法对词典规模是线性时间,即便输入超过 10 个字母,也能在每次按键时同步更新结果。
西班牙语字谜与英语字谜的差别
西班牙语的音位数量比英语少,但变形系统更丰富——单单一个动词词根就能派生出几十种形式:canto、cantas、canta、cantamos、cantasteis、cantaron、cantaba、cantará、cante……重音符号在语义上有区分作用(例如「papá」与「papa」),但在字谜场景里并不影响识别,因此匹配器把带重音和不带重音的输入视为等价。字母 ñ 在西班牙语字母表里是独立字母,本工具为了输入便利将其归一化为 n。
提高匹配数的几个技巧
- 尽量包含 a、e、i、o、u 五个元音——常见西班牙语文本里元音占比约 47%,英语只有 38% 左右。
- 留意西班牙语的双字母组合:ll(calle)、rr(perro)、ch(chico)——在字谜里按两个字母输入,发音上算一个音。
- 多出一两个无法成词的字母也没关系——匹配器返回的是 sub-anagram,少用几个字母同样算匹配。
- 常见短词尾值得尝试:动词后缀 -ar、-er、-ir;形容词后缀 -ado、-ida、-oso、-ico;名词后缀 -ción、-dad。
词典覆盖范围与限制
内置词典约 450 个 3-9 字母常用西班牙词,覆盖高频名词、动词不定式与部分活用形、形容词、副词以及常见虚词。不包含偏专业的术语词、专有名词以及每个动词的完整变位表。如果需要完整的西班牙语 Scrabble 词典,可参考官方的 Diccionario Oficial del Scrabble(FISE),收录条目超过 60 万;本工具面向日常拼字小游戏与语言学习者,不是赛事级 Scrabble。
FAQ
Q: 能否输入带重音的西班牙字母?
A: 可以,带不带重音都生效。「pájaro」与「pajaro」返回完全相同的结果,因为输入会先归一化再做匹配。不需要切换到西班牙语键盘。
Q: 为什么 ñ 被当作 n 处理?
A: 这是出于输入便利的设计。词典内部仍按西班牙语原本的拼写存储,但输入「nino」可以匹配到「niño」。这样的归一化保证工具不依赖任何特定的键盘布局,同时不会丢失匹配结果。
Q: 为什么某个我知道的西班牙词没有出现在结果里?
A: 内置词典约 450 个常用词,少见的变位形式、古语、地区方言和专有名词都没有收录。本工具面向日常拼字小游戏与语言学习者,不是赛事级 Scrabble——后者需要约 60 万词的完整词典(如 FISE)。
Q: 工具返回的是 anagram 还是 sub-anagram?
A: 返回 sub-anagram。任何可以由输入字母的子集拼出(且每个位置最多用一次)的西班牙词都会出现在结果里。用尽所有输入字母的完整 anagram,就是结果列表中字母数最长的那一组。