我是靠谱客的博主 怕黑小蝴蝶,最近开发中收集的这篇文章主要介绍4317 不同正整数的个数(哈希表),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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 不同正整数的个数(哈希表)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(46)

评论列表共有 0 条评论

立即
投稿
返回
顶部