我认为它是 O(1),但这是来自 pprof 输出:140 140 176: var lastSB byte = s[lenSMinusOne]88 88 177: var lastSuffixB byte = suffix[lenSuffixMinusOne]并且 s 的平均长度大于后缀的长度。因此,这表明如果切片更大,访问元素需要更长的时间?功能是:func hasSuffix(s, suffix []byte) bool { lenSMinusOne := len(s) - 1 lenSuffixMinusOne := len(suffix) - 1 var lastSB byte = s[lenSMinusOne] var lastSuffixB byte = suffix[lenSuffixMinusOne] if lenSMinusOne < lenSuffixMinusOne { return false } else if lastSB != lastSuffixB { return false } else { for i := 0; i < lenSuffixMinusOne ; i++ { if suffix[i] != s[lenSMinusOne-lenSuffixMinusOne+i] { return false } } } return true}更新:为了重现结果,安装fetch使用带有大型语料库的go-porterstemmer fork(我使用 440mb 文件)。
2 回答
- 2 回答
- 0 关注
- 246 浏览
添加回答
举报
0/150
提交
取消