## Unique Elements

View as PDF

Points: 4 (partial)
Time limit: 5.0s
Memory limit: 64M

Author:
Problem type
Allowed languages
Ada, Assembly, Awk, Brain****, C, C#, C++, COBOL, CommonLisp, D, Dart, F#, Forth, Fortran, Go, Groovy, Haskell, Intercal, Java, JS, Kotlin, Lisp, Lua, Nim, ObjC, OCaml, Octave, Pascal, Perl, PHP, Pike, Prolog, Python, Racket, Ruby, Rust, Scala, Scheme, Sed, Swift, TCL, Text, Turing, VB, Zig

Given a list of () positive integers less than or equal to , print out how many distinct numbers exist.

#### Input Specification

The first line will contain the integer . The next lines will contain an element in the list.

#### Output Specification

One integer: the number of distinct elements in the given list.

#### Sample Input 1

2
1
2

#### Sample Output 1

2

#### Sample Input 2

4
1
2
2
5

#### Sample Output 2

3

• commented on Oct. 23, 2019, 2:56 p.m. edited

.

• commented on Dec. 3, 2018, 8:51 p.m. edited

Can someone look at my solution. I don't understand why it isn't working.

EDIT: Don't worry fixed the problem. Just needed to sort.

• commented on July 21, 2018, 8:22 p.m. edit 2

Hint: sets have very fast O(1) in checks, whereas lists have very slow O(n) in checks. Your solution will probably pass if you use a set, but you may have to combine your two for loops into one.