refactor(common): 重构 bitset 和 log 包

- 移除了 github.com/scylladb/termtables 依赖
- 修改了 bitset 包,移除了未使用的代码和测试
- 修改了 log 包,移除了未使用的代码和测试
- 更新了 go.work 文件,添加了 bitset 和 log 包
This commit is contained in:
2025-07-02 22:31:54 +08:00
parent 8fb792b0f2
commit ffc39f5462
42 changed files with 6445 additions and 32 deletions

View File

@@ -0,0 +1,46 @@
package bitset32
import (
bitset64 "github.com/bits-and-blooms/bitset"
)
type BitSet64 struct {
*bitset64.BitSet
}
// TODO: TestFunc
func (b *BitSet64) MaxConsecutiveOne(start, end uint) uint {
return b.continueMaxCount(start, end, true)
}
func (b *BitSet64) MaxConsecutiveZero(start, end uint) uint {
return b.continueMaxCount(start, end, false)
}
func (b *BitSet64) continueMaxCount(start, end uint, flag bool) uint {
flag = !flag
if end > b.Len() {
end = b.Len()
}
if start >= b.Len() {
return 0
}
if start > end {
return 0
}
rt, sum := uint(0), uint(0)
for i := start; i < end; i++ {
if xor(flag, b.Test(i)) {
sum++
continue
}
if sum > rt {
rt = sum
}
sum = 0
}
if sum > rt {
rt = sum
}
return rt
}