【牛客刷题】HJ10 字符个数统计

题目链接

简单的说这题就是字符串去重以后检查长度。如果用Java的话,可以遍历字符串,然后利用Set来进行去重,最后统计Set的size就可以了。但是如果是Go语言,则稍微麻烦点。基本思路就是用map,对于map中不存在的元素,添加,然后计数器加1:

package main

import (
	"fmt"
)

func main() {
	var a string
	fmt.Scan(&a)

	sum := 0
	m := make(map[byte]int)
	for i := 0; i < len(a); i++ {
		if _, ok := m[a[i]]; !ok {
			m[a[i]] = 1
			sum += 1
		}
	}
	fmt.Printf("%d", sum)
}

Go语言解法时间4ms,好于利用了Set的Java解法的44ms

posted @ 2023-02-13 21:49  wingsless  阅读(49)  评论(0编辑  收藏  举报