首页 > 其他分享 >【牛客刷题】HJ10 字符个数统计

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

时间:2023-02-13 21:55:19浏览次数:64  
标签:HJ10 Set Java map fmt 牛客 main sum 刷题

题目链接

简单的说这题就是字符串去重以后检查长度。如果用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

标签:HJ10,Set,Java,map,fmt,牛客,main,sum,刷题
From: https://www.cnblogs.com/wingsless/p/17117974.html

相关文章

  • SQL276 牛客的课程订单分析(六)
    题目描述有一个订单信息表(order_info),有一个客户端表(client),请你写出一个sql语句查询在2025-10-15以后,同一个用户下单2个以及2个以上状态为购买成功的C++课程或Java课......
  • 【牛客刷题】HJ6 质数因子
    题目链接这道题本身更多的是考察如何计算一个数的质数因子,更像是一道数学题,用到了循环的方法:packagemainimport( "fmt" "math")funcmain(){ a:=0 fmt.Sc......
  • 【牛客刷题】HJ5 进制转换
    题目链接基本上能用最简单代码实现的,就不要考虑的太复杂:packagemainimport"fmt"funcmain(){ a:=0 fmt.Scanf("0x%x",&a) fmt.Printf("%d",a)}......
  • 【牛客刷题】HJ4 字符串分隔
    题目链接这个题目本身基本上是对语言熟悉程度的考察,没有什么别的逻辑可言:packagemainimport( "fmt" "strings")funcmain(){ varastring fmt.Scan(&a) f......
  • 【牛客刷题】HJ3 明明的随机数
    题目链接这题有两个要编码解决的问题,首先是去重,其次是排序。最开始想着就用Java的TreeSet解决了,简单好用,去重排序都一并解决了,编码只需要考虑input的逻辑就可以,代码如下......
  • LeetCode刷题(一)——两数之和
    题目:给定一个整数数组nums 和一个整数目标值target,请你在该数组中找出和为目标值target 的那两个整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案......
  • 算法刷题-插入区间、杨辉三角、移除链表元素
    插入区间给你一个无重叠的,按照区间起始端点排序的区间列表。在列表中插入一个新的区间,你需要确保列表中的区间仍然有序且不重叠(如果有必要的话,可以合并区间)。示例1:输入......
  • 算法刷题-求素数、数据流的中位数、不同的二叉搜索树
    求素数求1-100内的素数:publicstaticvoidmain(String[]args){for(inti=0;i<100;i++){checkPrime(i);}}privatestaticvo......
  • 算法刷题-四数之和、缺失的第一个正数、N 皇后
    四数之和给定一个包含n个整数的数组nums和一个目标值target,判断nums中是否存在四个元素a,b,c和d,使得a+b+c+d的值与target相等?找出所有满足条件且不重复......
  • Hive——刷题 国庆期间的7日动销率和滞销率
    需求描述动销率定义为品类商品中一段时间内有销量的商品占当前已上架总商品数的比例(有销量的商品/已上架总商品数)。滞销率定义为品类商品中一段时间内没有销量的商品占当......