1
misaka19000 2017-11-10 22:44:46 +08:00 2
蛆虫一般都用 set 来实现吧?
|
2
missdeer 2017-11-10 22:52:10 +08:00 1
同一楼,作为 key 插到 map[string]struct{}中
|
3
BBCCBB 2017-11-10 23:03:03 +08:00 1
双指针, 一个指向空,一个指向非空,将非空的移动到空的, 然后继续这种操作。
|
4
BBCCBB 2017-11-10 23:09:33 +08:00 1
忘了去重了,擦,去重就 set 了
|
5
wweir 2017-11-10 23:33:56 +08:00 via Android 1
sort 和 map 比比吧。
一个 O(nlogn),一个 O(1)但有 hash 算法的消耗。 谁更好得看数据规模了 |
6
SlipStupig 2017-11-10 23:34:10 +08:00 1
去 空格用 strings.Trims,要去重的话用 Set 实现,golang 没有 set 函数可以自己用 map 去实现判定就可以高效去重复:
eg: set 构造: set := make(map[string]bool) if _, ok := set[key]; ok { //存在 return }else{ // 如果删除空格后字符串长度 0,说明是个空格我们放弃 if len(string.Trims(key)) == 0{ return } //添加 key elements[key] = true } |
9
cheshire 2017-11-11 16:47:28 +08:00 1
@SlipStupig bool 类型的不需要加 ` if _, ok := hash[val]; ok {}` , 直接判断 hash[val] 就行
|