Cody

# Problem 29. Nearest Numbers

Solution 1224131

Submitted on 3 Jul 2017 by Salvatore Lacava
This solution is locked. To view this solution, you need to provide a solution of the same size or smaller.

### Test Suite

Test Status Code Input and Output
1   Pass
A = [30 46 16 -46 35 44 18 26 25 -10]; correct = [8 9]; [i1 i2] = nearestNumbers(A); assert(isequal([i1 i2],correct))

B = Inf 16 -14 -76 5 14 -12 -4 -5 -40 -16 Inf -30 -92 -11 -2 -28 -20 -21 -56 14 30 Inf -62 19 28 2 10 9 -26 76 92 62 Inf 81 90 64 72 71 36 -5 11 -19 -81 Inf 9 -17 -9 -10 -45 -14 2 -28 -90 -9 Inf -26 -18 -19 -54 12 28 -2 -64 17 26 Inf 8 7 -28 4 20 -10 -72 9 18 -8 Inf -1 -36 5 21 -9 -71 10 19 -7 1 Inf -35 40 56 26 -36 45 54 28 36 35 Inf

2   Pass
A = [1555 -3288 2061 -4681 -2230 -4538 -4028 3235 1949 -1829]; correct = [3 9]; [i1 i2] = nearestNumbers(A); assert(isequal([i1 i2],correct))

B = Inf -4843 506 -6236 -3785 -6093 -5583 1680 394 -3384 4843 Inf 5349 -1393 1058 -1250 -740 6523 5237 1459 -506 -5349 Inf -6742 -4291 -6599 -6089 1174 -112 -3890 6236 1393 6742 Inf 2451 143 653 7916 6630 2852 3785 -1058 4291 -2451 Inf -2308 -1798 5465 4179 401 6093 1250 6599 -143 2308 Inf 510 7773 6487 2709 5583 740 6089 -653 1798 -510 Inf 7263 5977 2199 -1680 -6523 -1174 -7916 -5465 -7773 -7263 Inf -1286 -5064 -394 -5237 112 -6630 -4179 -6487 -5977 1286 Inf -3778 3384 -1459 3890 -2852 -401 -2709 -2199 5064 3778 Inf

3   Pass
A = [-1 1 10 -10]; correct = [1 2]; [i1 i2] = nearestNumbers(A); assert(isequal([i1 i2],correct))

B = Inf 2 11 -9 -2 Inf 9 -11 -11 -9 Inf -20 9 11 20 Inf

4   Pass
A = [0 1000 -2000 1001 0]; correct = [1 5]; [i1 i2] = nearestNumbers(A); assert(isequal([i1 i2],correct))

B = Inf 1000 -2000 1001 0 -1000 Inf -3000 1 -1000 2000 3000 Inf 3001 2000 -1001 -1 -3001 Inf -1001 0 1000 -2000 1001 Inf

5   Pass
A = [1:1000 0.5]; correct = [1 1001]; [i1 i2] = nearestNumbers(A); assert(isequal([i1 i2],correct))

B = Columns 1 through 17 Inf 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 -1.0000 Inf 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 -2.0000 -1.0000 Inf 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 -3.0000 -2.0000 -1.0000 Inf 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 -4.0000 -3.0000 -2.0000 -1.0000 Inf 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 -5.0000 -4.0000 -3.0000 -2.0000 -1.0000 Inf 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 -6.0000 -5.0000 -4.0000 -3.0000 -2.0000 -1.0000 Inf 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 -7.0000 -6.0000 -5.0000 -4.0000 -3.0000 -2.0000 -1.0000 Inf 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 -8.0000 -7.0000 -6.0000 -5.0000 -4.0000 -3.0000 -2.0000 -1.0000 Inf 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 -9.0000 -8.0000 -7.0000 -6.0000 -5.0000 -4.0000 -3.0000 -2.0000 -1.0000 Inf 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 -10.0000 -9.0000 -8.0000 -7.0000 -6.0000 -5.0000 -4.0000 -3.0000 -2.0000 -1.0000 Inf 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 -11.0000 -10.0000 -9.0000 -8.0000 -7.0000 -6.0000 -5.0000 -4.0000 -3.0000 -2.0000 -1.0000 Inf 1.0000 2.0000 3.0000 4.0000 5.0000 -12.0000 -11.0000 -10.0000 -9.0000 -8.0000 -7.0000 -6.0000 -5.0000 -4.0000 -3.0000 -2.0000 -1.0000 Inf 1.0000 2.0000 3.0000 4.0000 -13.0000 -12.0000 -11.0000 -10.0000 -9.0000 -8.0000 -7.0000 -6.0000 -5.0000 -4.0000 -3.0000 -2.0000 -1.0000 Inf 1.0000 2.0000 3.0000 -14.0000 -13.0000 -12.0000 -11.0000 -10.0000 -9.0000 -8.0000 -7.0000 -6.0000 -5.0000 -4.0000 -3.0000 -2.0000 -1.0000 Inf 1.0000 2.0000 -15.0000 -14.0000 -13.0000 -12.0000 -11.0000 -10.0000 -9.0000 -8.0000 -7.0000 -6.0000 -5.0000 -4.0000 -3.0000 -2.0000 -1.0000 Inf 1.0000 -16.0000 -15.0000 -14.0000 -13.0000 -12.0000 -11.0000 -10.0000 -9.0000 -8.0000 -7.0000 -6.0000 -5.0000 -4.0000 -3.0000 -2.0000 -1.0000 Inf -17.0000 -16.0000 -15.0000 -14.0000 -13.0000 -12.0000 -11.0000 -10.0000 -9.0000 -8.0000 -7.0000 -6.0000 -5.0000 -4.0000 -3.0000 -2.0000 -1.0000 -18.0000 -17.0000 -16.0000 -15.0000 -14.0000 -13.0000 -12.0000 -11.0000 -10.0000 -9.0000 -8.0000 -7.0000 -6.0000 -5.0000 -4.0000 -3.0000 -2.0000 -19.0000 -18.0000 -17.0000 -16.0000 -15.0000 -14.0000 -13.0000 -12.0000 -11.0000 -10.0000 -9.0000 -8.0000 -7.0000 -6.0000 -5.0000 -4.0000 -3.0000 -20.0000 -19.0000 -18.0000 -17.0000 -16.0000 -15.0000 -14.0000 -13.0000 -12.0000 -11.0000 -10.0000 -9.0000 -8.0000 -7.0000 -6.0000 -5.0000 -4.0000 -21.0000 -20.0000 -19.0000 -18.0000 -17.0000 -16.0000 -15.0000 -14.0000 -13.0000 -12.0000 -11.0000 -10.0000 -9.0000 -8.0000 -7.0000 -6.0000 -5.0000 -22.0000 -21.0000 -20.0000 -19.0000 -18.0000 -17.0000 -16.0000 -15.0000 -14.0000 -13.0000 -12.0000 -11.0000 -10.0000 -9.0000 -8.0000 -7.0000 -6.0000 -23.0000 -22.0000 -21.0000 -20.0000 -19.0000 -18.0000 -17.0000 -16.0000 -15.0000 -14.0000 -13.0000 -12.0000 -11.0000 -10.0000 -9.0000 -8.0000 -7.0000 -24.0000 -23.0000 -22.0000 -21.0000 -20.0000 -19.0000 -18.0000 -17.0000 -16.0000 -15.0000 -14.0000 -13.0000 -12.0000 -11.0000 -10.0000 -9.0000 -8.0000 -25.0000 -24.0000 -23.0000 -22.0000 -21.0000 -20.0000 -19.0000 -18.0000 -17.0000 -16.0000 -15.0000 -14.0000 -13.0000 -12.0000 -11.0000 -10.0000 -9.0000 -26.0000 -25.0000 -24.0000 -23.0000 -22.0000 -21.0000 -20.0000 -19.0000 -18.0000 -17.0000 -16.0000 -15.0000 -14.0000 -13.0000 -12.0000 -11.0000 -10.0000 -27.0000 -26.0000 -25.0000 -24.0000 -23.0000 -22.0000 -21.0000 -20.0000 -19.0000 -18.0000 -17.0000 -16.0000 -15.0000 -14.0000 -13.0000 -12.0000 -11.0000 -28.0000 -27.0000 -26.0000 -25.0000 -24.0000 -23.0000 -22.0000 -21.0000 -20.0000 -19.0000 -18.0000 -17.0000 -16.0000 -15.0000 -14.0000 -13.0000 -12.0000 -29.0000 -28.0000 -27.0000 -26.0000 -25.0000 -24.0000 -23.0000 -22.0000 -21.0000 -20.0000 -19.0000 -18.0000 -17.0000 -16.0000 -15.0000 -14.0000 -13.0000 -30.0000 -29.0000 -28.0000 -27.0000 -26.0000 -25.0000 -24.0000 -23.0000 -22.0000 -21.0000 -20.0000 -19.0000 -18.0000 -17.0000 -16.0000 -15.0000 -14.0000 -31.0000 -30.0000 -29.0000 -28.0000 -27.0000 -26.0000 -25.0000 -24.0000 -23.0000 -22.0000 -21.0000 -20.0000 -19.0000 -18.0000 -17.0000 -16.0000 -15.0000 -32.0000 -31.0000 -30.0000 -29.0000 -28.0000 -27.0000 -26.0000 -25.0000 -24.0000 -23.0000 -22.0000 -21.0000 -20.0000 -19.0000 -18.0000 -17.0000 -16.0000 -33.0000 -32.0000 -31.0000 -30.0000 -29.0000 -28.0000 -27.0000 -26.0000 -25.0000 -24.0000 -23.0000 -22.0000 -21.0000 -20.0000 -19.0000 -18.0000 -17.0000 -34.0000 -33.0000 -32.0000 -31.0000 -30.0000 -29.0000 -28.0000 -27.0000 -26.0000 -25.0000 -24.0000 -23.0000 -22.0000 -21.0000 -20.0000 -19.0000 -18.0000 -35.0000 -34.0000 -33.0000 -32.0000 -31.0000 -30.0000 -29.0000 -28.0000 -27.0000 -26.0000 -25.0000 -24.0000 -23.0000 -22.0000 -21.0000 -20.0000 -19.0000 -36.0000 -35.0000 -34.0000 -33.0000 -32.0000 -31.0000 -30.0000 -29.0000 -28.0000 -27.0000 -26.0000 -25.0000 -24.0000 -23.0000 -22.0000 -21.0000 -20.0000 -37.0000 -36.0000 -35.0000 -34.0000 -33.0000 -32.0000 -31.0000 -30.0000 -29.0000 -28.0000 -27.0000 -26.0000 -25.0000 -24.0000 -23.0000 -22.0000 -21.0000 -38.0000 -37.0000 -36.0000 -35.0000 -34.0000 -33.0000 -32.0000 -31.0000 -30.0000 -29.0000 -28.0000 -27.0000 -26.0000 -25.0000 -24.0000 -23.0000 -22.0000 -39.0000 -38.0000 -37.0000 -36.0000 -35.0000 -34.0000 -33.0000 -32.0000 -31.0000 -30.0000 -29.0000 -28.0000 -27.0000 -26.0000 -25.0000 -24.0000 -23.0000 -40.0000 -39.0000 -38.0000 -37.0000 -36.0000 -35.0000 -34.0000 -33.0000 -32.0000 -31.0000 -30.0000 -29.0000 -28.0000 -27.0000 -26.0000 -25.0000 -24.0000 -41.0000 -40.0000 -39.0000 -38.0000 -37.0000 -36.0000 -35.0000 -34.0000 -33.0000 -32.0000 -31.0000 -30.0000 -29.0000 -28.0000 -27.0000 -26.0000 -25.0000 -42.0000 -41.0000 -40.0000 -39.0000 -38.0000 -37.0000 -36.0000 -35.0000 -34.0000 -33.0000 -32.0000 -31.0000 -30.0000 -29.0000 -28.0000 -27.0000 -26.0000 -43.0000 -42.0000 -41.0000 -40.0000 -39.0000 -38.0000 -37.0000 -36.0000 -35.0000 -34.0000 -33.0000 -32.0000 -31.0000 -30.0000 -29.0000 -28.0000 -27.0000 -44.0000 -43.0000 -42.0000 -41.0000 -40.0000 -39.0000 -38.0000 -37.0000 -36.0000 -35.0000 -34.0000 -33.0000 -32.0000 -31.0000 -30.0000 -29.0000 -28.0000 -45.0000 -44.0000 -43.0000 -42.0000 -41.0000 -40.0000 -39.0000 -38.0000 -37.0000 -36.0000 -35.0000 -34.0000 -33.0000 -32.0000 -31.0000 -30.0000 -29.0000 -46.0000 -45.0000 -44.0000 -43.0000 -42.0000 -41.0000 -40.0000 -39.0000 -38.0000 -37.0000 -36.0000 -35.0000 -34.0000 -33.0000 -32.0000 -31.0000 -30.0000 -47.0000 -46.0000 -45.0000 -44.0000 -43.0000 -42.0000 -41.0000 -40.0000 -39.0000 -38.0000 -37.0000 -36.0000 -35.0000 -34.0000 -33.0000 -32.0000 -31.0000 -48.0000 -47.0000 -46.0000 -45.0000 -44.0000 -43.0000 -42.0000 -41.0000 -40.0000 -39.0000 -38.0000 -37.0000 -36.0000 -35.0000 -34.0000 -33.0000 -32.0000 -49.0000 -48.0000 -47.0000 -46.0000 -45.0000 -44.0000 -43.0000 -42.0000 -41.0000 -40.0000 -39.0000 -38.0000 -37.0000 -36.0000 -35.0000 -34.0000 -33.0000 -50.0000 -49.0000 -48.0000 -47.0000 -46.0000 -45.0000 -44.0000 -43.0000 -42.0000 -41.0000 -40.0000 -39.0000 -38.0000 -37.0000 -36.0000 -35.0000 -34.0000 -51.0000 -50.0000 -49.0000 -48.0000 -47.0000 -46.0000 -45.0000 -44.0000 -43.0000 -42.0000 -41.0000 -40.0000 -39.0000 -38.0000 -37.0000 -36.0000 -35.0000 -52.0000 -51.0000 -50.0000 -49.0000 -48.0000 -47.0000 -46.0000 -45.0000 -44.0000 -43.0000 -42.0000 -41.0000 -40.0000 -39.0000 -38.0000 -37.0000 -36.0000 -53.0000 -52.0000 -51.0000 -50.0000 -49.0000 -48.0000 -47.0000 -46.0000 -45.0000 -44.0000 -43.0000 -42.0000 -41.0000 -40.0000 -39.0000 -38.0000 -37.0000 -54.0000 -53.0000 -52.0000 -51.0000 -50.0000 -49.0000 -48.0000 -47.0000 -46.0000 -45.0000 -44.0000 -43.0000 -42.0000 -41.0000 -40.0000 -39.0000 -38.0000 -55.0000 -54.0000 -53.0000 -52.0000 -51.0000 -50.0000 -49.0000 -48.0000 -47.0000 -46.0000 -45.0000 -44.0000 -43.0000 -42.0000 -41.0000 -40.0000 -39.0000 -56.0000 -55.0000 -54.0000 -53.0000 -52.0000 -51.0000 -50.0000 -49.0000 -48.0000 -47.0000 -46.0000 -45.0000 -44.0000 -43.0000 -42.0000 -41.0000 -40.0000 -57.0000 -56.0000 -55.0000 -54.0000 -53.0000 -52.0000 -51.0000 -50.0000 -49.0000 -48.0000 -47.0000 -46.0000 -45.0000 -44.0000 -43.0000 -42.0000 -41.0000 -58.0000 -57.0000 -56.0000 -55.0000 -54.0000 -...

6   Pass
% Area codes A = [847 217 508 312 212]; correct = [2 5]; [i1 i2] = nearestNumbers(A); assert(isequal([i1 i2],correct))

B = Inf -630 -339 -535 -635 630 Inf 291 95 -5 339 -291 Inf -196 -296 535 -95 196 Inf -100 635 5 296 100 Inf

7   Pass
% Zip codes A = [60048 61802 01702 60601 10001]; correct = [1 4]; [i1 i2] = nearestNumbers(A); assert(isequal([i1 i2],correct))

B = Inf 1754 -58346 553 -50047 -1754 Inf -60100 -1201 -51801 58346 60100 Inf 58899 8299 -553 1201 -58899 Inf -50600 50047 51801 -8299 50600 Inf

### Community Treasure Hunt

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

Start Hunting!