是由正则表达式 FindAllString 返回的[]string 类型数组,FindAllString 可以之类的正则查找函数可以直接返回去重的结果吗?
数组去重好像没有语言自带的实现。。
数组去重好像没有语言自带的实现。。
1
misaka19000 Nov 10, 2017 蛆虫一般都用 set 来实现吧?
|
2
missdeer Nov 10, 2017 同一楼,作为 key 插到 map[string]struct{}中
|
3
BBCCBB Nov 10, 2017 双指针, 一个指向空,一个指向非空,将非空的移动到空的, 然后继续这种操作。
|
4
BBCCBB Nov 10, 2017 忘了去重了,擦,去重就 set 了
|
5
wweir Nov 10, 2017 via Android sort 和 map 比比吧。
一个 O(nlogn),一个 O(1)但有 hash 算法的消耗。 谁更好得看数据规模了 |
6
SlipStupig Nov 10, 2017 去 空格用 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 PRO @SlipStupig bool 类型的不需要加 ` if _, ok := hash[val]; ok {}` , 直接判断 hash[val] 就行
|