概述
1. 问题描述:
给定 n 个非负整数 a1,a2,…,an,请你计算其中共有多少个不同的正整数。
输入格式
第一行包含整数 n;第二行包含 n 个非负整数 a1,a2,…,an,保证至少存在一个正整数。
输出格式
一个整数,表示其中不同正整数的数量。
数据范围
前三个测试点满足 1 ≤ n ≤ 5;
所有测试点满足 1 ≤ n ≤ 100,0 ≤ ai ≤ 600;
输入样例1:
4
1 3 3 2
输出样例1:
3
输入样例2:
3
1 1 1
输出样例2:
1
输入样例3:
4
42 0 0 42
输出样例3:
1
来源:https://www.acwing.com/problem/content/description/4320/
2. 思路分析:
分析题目可以知道我们可以使用 set 或者哈希表来记录出现过的数字,set 和哈希表都可以用来去重,set 或者哈希表的大小就是不重复数字的数目;
3. 代码如下:
go:
package main
import "fmt"
func main() {
var n int
fmt.Scan(&n)
a := make([]int, n)
for i := 0; i < n; i++ {
fmt.Scan(&a[i])
}
mp := make(map[int]int)
for i := 0; i < n; i++ {
if a[i] > 0 {
mp[a[i]] += 1
}
}
fmt.Println(len(mp))
}
python:
if __name__ == '__main__':
n = int(input())
a = list(map(int, input().split()))
mp = set()
for x in a:
if x > 0:
mp.add(x)
print(len(mp))
最后
以上就是怕黑小蝴蝶为你收集整理的4317 不同正整数的个数(哈希表)的全部内容,希望文章能够帮你解决4317 不同正整数的个数(哈希表)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复