Skip to content

Instantly share code, notes, and snippets.

@nickovchinnikov
Last active April 25, 2022 07:27
Show Gist options
  • Save nickovchinnikov/d7d629d23690b0e2caf471b76ee37499 to your computer and use it in GitHub Desktop.
Save nickovchinnikov/d7d629d23690b0e2caf471b76ee37499 to your computer and use it in GitHub Desktop.
/*
Write a function
function solution(A);
that, given an array A consisting of N integers, returns the number of distinct values in array A.
Assume that:
N is an integer within the range [0..100,000];
each element of array A is an integer within the range [−1,000,000..1,000,000].
For example, given array A consisting of six elements such that:
A[0] = 2 A[1] = 1 A[2] = 1
A[3] = 2 A[4] = 3 A[5] = 1
the function should return 3, because there are 3 distinct values appearing in array A, namely 1, 2 and 3.
Complexity:
expected worst-case time complexity is O(N*log(N));
expected worst-case space complexity is O(N) (not counting the storage required for input arguments).
*/
// you can write to stdout for debugging purposes, e.g.
// console.log('this is a debug message');
function solution(A) {
const hashMap = {}
const filteredArray = A.filter(item => {
if (!hashMap[item]) {
hashMap[item] = true
return true
}
return false
})
console.log(filteredArray)
return filteredArray.length
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment