You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何基于wordlist.txt与指定字母配额构建耗尽配额的句子?

基于字母配额与词表构建耗尽配额的句子

我有一个按换行分隔的wordlist.txt文件,给定如下字母使用配额:

n: 1
e: 1
w: 1
b: 1
o: 2
k: 1
Remain alphabets quota is 0.

需要基于wordlist.txt中的单词构建句子,要求必须耗尽所有字母配额(最终剩余配额为0),单词顺序无关。例如上述配额可生成new book或book new,其中new和book均存在于词表中,可行的句子列表如下:

new book
book new
bow neko
neko bow

实现思路

1. 预处理词表

  • 读取wordlist.txt中的所有单词,统计每个单词的字母频次(比如book对应b:1, o:2, k:1)
  • 过滤无效单词:直接排除包含配额外字母的单词,或者单个单词中某字母用量超过初始配额的单词,缩小候选范围

2. 回溯法搜索有效组合

  • 维护当前剩余的字母配额状态(用字典存储每个字母的剩余数量)
  • 遍历候选单词,检查该单词的字母需求是否全部不超过当前剩余配额
  • 若符合条件,将该单词加入当前组合,同时更新剩余配额
    • 如果更新后所有字母剩余配额为0,将当前组合加入结果列表
    • 如果仍有剩余配额,继续递归搜索下一个单词
  • (可选)若不需要保留单词顺序不同的重复组合,可以在生成结果时将组合按单词排序后去重

3. 效率优化技巧

  • 按单词的总字母数降序排序候选单词,优先尝试字母用量多的单词,减少搜索分支
  • 缓存已处理过的配额状态,避免重复计算相同状态下的搜索
  • 将字母频次完全相同的单词分组,处理组内一个单词后,其他单词可直接复用结果,减少重复操作

内容的提问来源于stack exchange,提问作者Muhammad Ikhwan Perwira

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.29 20:42:15