Given a vector a, find the number(s) that is/are repeated consecutively most often. For example, if you have
a = [1 2 2 2 1 3 2 1 4 5 1]
The answer would be 2, because it shows up three consecutive times.
If your vector is a row vector, your output should be a row vector. If your input is a column vector, your output should be a column vector. You can assume there are no Inf or NaN in the input. Super (albeit non-scored) bonus points if you get a solution that works with these, though.
I don't understand why for test suite 4 :
a=[0 1 1 1 0 2 2 0 1 1 1 0];
y_correct = [1 1];
I expect y_correct = [1 1 1]
The idea seems to be to return the element that occurs in the longest run, or all such elements in case of a tie. In case 4 there are two longest runs, both with element 1.
Thanks Tim for the explanation . So as the vector [1 1 1] appears twice in test 4 with the unique value 1 , the result must be twice the unqiue value -> [ 1 1]. ok ok thanks again
Nice
I have this array as I counted the times it repeats. However, can someone give me a command to pull out the max values with the number to the left? Any advise? The first value in column on the right top doesn't matter as it should always be 1. I try the max command it only shows the max value of 3...:
1 0
1 2
1 3
2 1
2 2
2 3
3 1
3 2
3 3
Nice
Great problem. Thank you.
Good one
Test 1 and 4 are wrong
find(vertcat(1,diff(a(:)),1));
val=a(ans(diff(ans)==max(diff(ans))))
Could you check this for me, please?
[ra,ca]=size(a);
if ra>ca
a=a';
end
j=1;
V=[a(1,1);1];
for i=2:size(a,2)
X=a(1,i);
if V(1,j)==X
V(2,j)=V(2,j)+1;
else
j=j+1;
V(1,j)=X;
V(2,j)=V(2,j)+1;
end
end
val=V(V(2,:)==max(V(2,:)))
if ra>ca
val=val';
end
How else could you solve in any other traditional programming language?
It was not so easy...
What kind of solution is that?
that's a bug of Matlab Cody, the use of ! and regexp.
I don't know why Mathworks has it not corrected.
Can't understand a bit of this code.
i'd really like to see a better solution that mine, one that uses difference equations..mine is size 129 and is just a control loop. Guess i've got to search in solution map.
very clever!
2611 Solvers
Remove the two elements next to NaN value
419 Solvers
Implement simple rotation cypher
1214 Solvers
Are all the three given point in the same line?
268 Solvers
Check that number is whole number
509 Solvers