How do you detect duplicate values within a random array?

127 views (last 30 days)
Write a program to find if a vector of random generated integers contains any duplicate element. Return true if any value appears at least twice in the said vector and return false if every element is distinct.
I simply have no idea how to implement this. I believe this problem requires a for loop and a series of if statements.

Accepted Answer

KSSV
KSSV on 31 Mar 2020
If you want to use inbuilt functions......you can use unique. Read about it. Let A be your array.
B = unique(A) ;
if length(A)==length(B)
fprintf('No elements repeated')
else
fprintf('Elements repeated')
end
  5 Comments
Image Analyst
Image Analyst on 31 Mar 2020
Aaron, not true. The lengths are different if there are repeats because unique() throws out the repeats and sorts the values. Just look
A = [1, 2, 3, 4]
B = unique(A)
fprintf('length(A) = %d. length(B) = %d.\n', length(A), length(B));
A = [1, 2, 2, 2, 9, 5]
B = unique(A)
fprintf('length(A) = %d. length(B) = %d.\n', length(A), length(B));
A =
1 2 3 4
B =
1 2 3 4
length(A) = 4. length(B) = 4.
A =
1 2 2 2 9 5
B =
1 2 5 9
length(A) = 6. length(B) = 4.
Aaron Zambiasi
Aaron Zambiasi on 31 Mar 2020
Edited: Aaron Zambiasi on 31 Mar 2020
Oh! That makes so much more sense. Thank you both so much! I apologize for my lack of understanding originally. I am still super new at this program.

Sign in to comment.

More Answers (0)

Categories

Find more on Creating and Concatenating Matrices in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!