Not sure the test suite is correct on this problem. If I have 1 dime, two nickels and a penny then I will have (21 cents). If I have two dimes, a nickel and a penny, I will have 26 cents. So the second is larger, but the test suite is testing that the row should be 1. Both 5 and 6 seem off.
Hello I am a South African newbie, and this is how I solved it
function b = most_change(a)
a(:,1) = 0.25 .* a(:,1);
a(:,2) = 0.05 .* a(:,2);
a(:,3) = 0.1 .* a(:,3);
a(:,4) = 0.01 .* a(:,4);
a = a';
vecsum = sum(a);
vecsum = vecsum';
[M,I] = max(vecsum);
b = I;
end
Almost had it!! The ordering has nickel and dime switched. So just change v to
[.25 .05 .1 .01] and you're done.
Test | Status | Code Input and Output |
---|---|---|
1 | Pass |
%%
a = [1 2 1 15];
b = 1;
assert(isequal(most_change(a),b))
cc =
0.6500
b =
1
|
2 | Pass |
%%
a = [ 1 2 1 15;
0 8 5 9];
b = 2;
assert(isequal(most_change(a),b))
cc =
1.1400
b =
2
|
3 | Pass |
%%
a = [ 1 22 1 15;
12 3 13 7;
10 8 23 99];
b = 3;
assert(isequal(most_change(a),b))
cc =
5.4400
b =
3
|
4 | Pass |
%%
a = [ 1 0 0 0; 0 0 0 24];
b = 1;
assert(isequal(most_change(a),b))
cc =
0.2500
b =
1
|
5 | Fail |
%%
a = [ 0 1 2 1; 0 2 1 1];
c = 1;
assert(isequal(most_change(a),c))
Error: Assertion failed.
|
6 | Fail |
%%
% There is a lot of confusion about this problem. Watch this.
a = [0 1 0 0; 0 0 1 0];
c = 2;
assert(isequal(most_change(a),c))
% Now go back and read the problem description carefully.
Error: Assertion failed.
|
7 | Pass |
%%
a = [ 2 1 1 1;
1 2 1 1;
1 1 2 1;
1 1 1 2;
4 0 0 0];
c = 5;
assert(isequal(most_change(a),c))
cc =
1
b =
5
|
Find relatively common elements in matrix rows
644 Solvers
465 Solvers
Getting the indices from a matrice
266 Solvers
227 Solvers
369 Solvers