0
A
回答
3
在僞碼:
for (i=0 .. n-1) {
for (j=i .. n-1) {
ngrams.add(phase[i:j])
}
}
phase[i:j]
是切片起始於i
和在j
和n
結束時的長度(在這種情況下3)
A B C
0 1 2
0:0 A
0:1 AB
0:2 ABC
1:1 B
1:2 BC
2:2 C
+0
這似乎是比我更優雅的解決方案! – Yang 2010-08-12 02:50:23
+0
@Yang這是[Python中的工作示例](http://ideone.com/DUyI6) – NullUserException 2010-08-12 03:00:12
1
我計算出來:O型(n^3)算法
public static void GenerateAllGrams(string query) {
string[] q = query.Split(' ');
int maxgram = q.Length;
for (int gram = 1; gram <= maxgram; gram++) {
for (int i = 0; i < q.Length - gram + 1; i++) {
string current = "";
for (int j = i; j < i + gram; j++) {
current += q[j] + " ";
}
Console.WriteLine(current.Trim());
}
}
}
1
在方案中:
(define (prefix x list)
(if (null? list)
nil
(cons (cons x (car list))
(prefix x (cdr list)))))
(define (subwords phrase)
(if (null? phrase)
nil
(cons (list (car phrase))
(cons (prefix (car phrase) (subwords (cdr phrase)))
(subwords (cdr phrase))))))
相關問題
- 1. 如何從所有枚舉類型中排除某些枚舉
- 2. 枚舉所有IEnumerable事件
- 3. 枚舉Mozilla中的所有屬性JSAPI
- 4. 枚舉Mathematica中的所有分區
- 5. 枚舉PHP中的所有複選框
- 6. 枚舉resx中的所有字符串
- 7. NSArray中枚舉的所有值?
- 8. 枚舉一種語言的所有單詞
- 9. Java:舊枚舉子集的新枚舉
- 10. 在Rails中枚舉模型的所有字段
- 11. 枚舉子類的字段斯卡拉
- 12. 如何枚舉計算機所在子網的所有ip
- 13. 嵌套枚舉不能訪問枚舉類的私有字段
- 14. 獲取枚舉標誌的所有枚舉名稱
- 15. 有效枚舉子集
- 16. 枚舉Windows註冊表項中的所有子項和值
- 17. 如何枚舉Java中超類的所有子類
- 18. 枚舉所有沒有mscoree的AppDomain
- 19. 子圖枚舉
- 20. 將枚舉映射到「子枚舉」
- 21. 是否有可能有兩個或多個單詞枚舉枚舉類?
- 22. 枚舉Java字段
- 23. 階:添加方法來枚舉
- 24. 有很多字段的枚舉設計
- 25. 如何處理數據庫中沒有枚舉字段的枚舉?
- 26. 枚舉所有的代數數字
- 27. 枚舉所有控件的形式
- 28. 枚舉我所有的Eclipse編輯器?
- 29. 枚舉所有的鍵和值
- 30. 枚舉在C的所有組合++
你在枚舉所有的子串嗎?如「ABCD」→「A」→「B」→「C」→「AB」→「BC」→「CD」→「ABC」→「BCD」→「ABCD」 – 2010-08-12 02:53:02