Cody

# Problem 42635. Maximum of each diagonal

Solution 746060

Submitted on 25 Sep 2015 by Guillaume
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
%% assert(isempty(maxdiag([])))

x = Empty matrix: 1-by-0

2   Pass
%% x = randi(100); assert(isequal(maxdiag(x),x))

3   Pass
%% x = randi(100,100,1); assert(isequal(maxdiag(x),x(end:-1:1)'))

4   Pass
%% x = randi(100,1,100); assert(isequal(maxdiag(x),x))

5   Pass
%% x = eye(2); assert(isequal(maxdiag(x),[0 1 0]))

x = 0 1 0

6   Pass
%% x = magic(3); assert(isequal(maxdiag(x),[4 9 8 7 6]))

x = 4 9 8 7 6

7   Pass
%% x = flipud(hankel(1:1000)); assert(isequal(maxdiag(x),[1:1000,zeros(1,1000-1)]))

x = Columns 1 through 8 1 2 3 4 5 6 7 8 Columns 9 through 16 9 10 11 12 13 14 15 16 Columns 17 through 24 17 18 19 20 21 22 23 24 Columns 25 through 32 25 26 27 28 29 30 31 32 Columns 33 through 40 33 34 35 36 37 38 39 40 Columns 41 through 48 41 42 43 44 45 46 47 48 Columns 49 through 56 49 50 51 52 53 54 55 56 Columns 57 through 64 57 58 59 60 61 62 63 64 Columns 65 through 72 65 66 67 68 69 70 71 72 Columns 73 through 80 73 74 75 76 77 78 79 80 Columns 81 through 88 81 82 83 84 85 86 87 88 Columns 89 through 96 89 90 91 92 93 94 95 96 Columns 97 through 104 97 98 99 100 101 102 103 104 Columns 105 through 112 105 106 107 108 109 110 111 112 Columns 113 through 120 113 114 115 116 117 118 119 120 Columns 121 through 128 121 122 123 124 125 126 127 128 Columns 129 through 136 129 130 131 132 133 134 135 136 Columns 137 through 144 137 138 139 140 141 142 143 144 Columns 145 through 152 145 146 147 148 149 150 151 152 Columns 153 through 160 153 154 155 156 157 158 159 160 Columns 161 through 168 161 162 163 164 165 166 167 168 Columns 169 through 176 169 170 171 172 173 174 175 176 Columns 177 through 184 177 178 179 180 181 182 183 184 Columns 185 through 192 185 186 187 188 189 190 191 192 Columns 193 through 200 193 194 195 196 197 198 199 200 Columns 201 through 208 201 202 203 204 205 206 207 208 Columns 209 through 216 209 210 211 212 213 214 215 216 Columns 217 through 224 217 218 219 220 221 222 223 224 Columns 225 through 232 225 226 227 228 229 230 231 232 Columns 233 through 240 233 234 235 236 237 238 239 240 Columns 241 through 248 241 242 243 244 245 246 247 248 Columns 249 through 256 249 250 251 252 253 254 255 256 Columns 257 through 264 257 258 259 260 261 262 263 264 Columns 265 through 272 265 266 267 268 269 270 271 272 Columns 273 through 280 273 274 275 276 277 278 279 280 Columns 281 through 288 281 282 283 284 285 286 287 288 Columns 289 through 296 289 290 291 292 293 294 295 296 Columns 297 through 304 297 298 299 300 301 302 303 304 Columns 305 through 312 305 306 307 308 309 310 311 312 Columns 313 through 320 313 314 315 316 317 318 319 320 Columns 321 through 328 321 322 323 324 325 326 327 328 Columns 329 through 336 329 330 331 332 333 334 335 336 Columns 337 through 344 337 338 339 340 341 342 343 344 Columns 345 through 352 345 346 347 348 349 350 351 352 Columns 353 through 360 353 354 355 356 357 358 359 360 Columns 361 through 368 361 362 363 364 365 366 367 368 Columns 369 through 376 369 370 371 372 373 374 375 376 Columns 377 through 384 377 378 379 380 381 382 383 384 Columns 385 through 392 385 386 387 388 389 390 391 392 Columns 393 through 400 393 394 395 396 397 398 399 400 Columns 401 through 408 401 402 403 404 405 406 407 408 Columns 409 through 416 409 410 411 412 413 414 415 416 Columns 417 through 424 417 418 419 420 421 422 423 424 Columns 425 through 432 425 426 427 428 429 430 431 432 Columns 433 through 440 433 434 435 436 437 438 439 440 Columns 441 through 448 441 442 443 444 445 446 447 448 Columns 449 through 456 449 450 451 452 453 454 455 456 Columns 457 through 464 457 458 459 460 461 462 463 464 Columns 465 through 472 465 466 467 468 469 470 471 472 Columns 473 through 480 473 474 475 476 477 478 479 480 Columns 481 through 488 481 482 483 484 485 486 487 488 Columns 489 through 496 489 490 491 492 493 494 495 496 Columns 497 through 504 497 498 499 500 501 502 503 504 Columns 505 through 512 505 506 507 508 509 510 511 512 Columns 513 through 520 513 514 515 516 517 518 519 520 Columns 521 through 528 521 522 523 524 525 526 527 528 Columns 529 through 536 529 530 531 532 533 534 535 536 Columns 537 through 544 537 538 539 540 541 542 543 544 Columns 545 through 552 545 546 547 548 549 550 551 552 Columns 553 through 560 553 554 555 556 557 558 559 560 Columns 561 through 568 561 562 563 564 565 566 567 568 Columns 569 through 576 569 570 571 572 573 574 575 576 Columns 577 through 584 577 578 579 580 581 582 583 584 Columns 585 through 592 585 586 587 588 589 590 591 592 Columns 593 through 600 593 594 595 596 597 598 599 600 Columns 601 through 608 601 602 603 604 605 606 607 608 Columns 609 through 616 609 610 611 612 613 614 615 616 Columns 617 through 624 617 618 619 620 621 622 623 624 Columns 625 through 632 625 626 627 628 629 630 631 632 Columns 633 through 640 633 634 635 636 637 638 639 640 Columns 641 through 648 641 642 643 644 645 646 647 648 Columns 649 through 656 649 650 6...

8   Pass
%% x = toeplitz(1:1000); assert(isequal(maxdiag(x),[1000:-1:1,2:1000]))

x = Columns 1 through 8 1000 999 998 997 996 995 994 993 Columns 9 through 16 992 991 990 989 988 987 986 985 Columns 17 through 24 984 983 982 981 980 979 978 977 Columns 25 through 32 976 975 974 973 972 971 970 969 Columns 33 through 40 968 967 966 965 964 963 962 961 Columns 41 through 48 960 959 958 957 956 955 954 953 Columns 49 through 56 952 951 950 949 948 947 946 945 Columns 57 through 64 944 943 942 941 940 939 938 937 Columns 65 through 72 936 935 934 933 932 931 930 929 Columns 73 through 80 928 927 926 925 924 923 922 921 Columns 81 through 88 920 919 918 917 916 915 914 913 Columns 89 through 96 912 911 910 909 908 907 906 905 Columns 97 through 104 904 903 902 901 900 899 898 897 Columns 105 through 112 896 895 894 893 892 891 890 889 Columns 113 through 120 888 887 886 885 884 883 882 881 Columns 121 through 128 880 879 878 877 876 875 874 873 Columns 129 through 136 872 871 870 869 868 867 866 865 Columns 137 through 144 864 863 862 861 860 859 858 857 Columns 145 through 152 856 855 854 853 852 851 850 849 Columns 153 through 160 848 847 846 845 844 843 842 841 Columns 161 through 168 840 839 838 837 836 835 834 833 Columns 169 through 176 832 831 830 829 828 827 826 825 Columns 177 through 184 824 823 822 821 820 819 818 817 Columns 185 through 192 816 815 814 813 812 811 810 809 Columns 193 through 200 808 807 806 805 804 803 802 801 Columns 201 through 208 800 799 798 797 796 795 794 793 Columns 209 through 216 792 791 790 789 788 787 786 785 Columns 217 through 224 784 783 782 781 780 779 778 777 Columns 225 through 232 776 775 774 773 772 771 770 769 Columns 233 through 240 768 767 766 765 764 763 762 761 Columns 241 through 248 760 759 758 757 756 755 754 753 Columns 249 through 256 752 751 750 749 748 747 746 745 Columns 257 through 264 744 743 742 741 740 739 738 737 Columns 265 through 272 736 735 734 733 732 731 730 729 Columns 273 through 280 728 727 726 725 724 723 722 721 Columns 281 through 288 720 719 718 717 716 715 714 713 Columns 289 through 296 712 711 710 709 708 707 706 705 Columns 297 through 304 704 703 702 701 700 699 698 697 Columns 305 through 312 696 695 694 693 692 691 690 689 Columns 313 through 320 688 687 686 685 684 683 682 681 Columns 321 through 328 680 679 678 677 676 675 674 673 Columns 329 through 336 672 671 670 669 668 667 666 665 Columns 337 through 344 664 663 662 661 660 659 658 657 Columns 345 through 352 656 655 654 653 652 651 650 649 Columns 353 through 360 648 647 646 645 644 643 642 641 Columns 361 through 368 640 639 638 637 636 635 634 633 Columns 369 through 376 632 631 630 629 628 627 626 625 Columns 377 through 384 624 623 622 621 620 619 618 617 Columns 385 through 392 616 615 614 613 612 611 610 609 Columns 393 through 400 608 607 606 605 604 603 602 601 Columns 401 through 408 600 599 598 597 596 595 594 593 Columns 409 through 416 592 591 590 589 588 587 586 585 Columns 417 through 424 584 583 582 581 580 579 578 577 Columns 425 through 432 576 575 574 573 572 571 570 569 Columns 433 through 440 568 567 566 565 564 563 562 561 Columns 441 through 448 560 559 558 557 556 555 554 553 Columns 449 through 456 552 551 550 549 548 547 546 545 Columns 457 through 464 544 543 542 541 540 539 538 537 Columns 465 through 472 536 535 534 533 532 531 530 529 Columns 473 through 480 528 527 526 525 524 523 522 521 Columns 481 through 488 520 519 518 517 516 515 514 513 Columns 489 through 496 512 511 510 509 508 507 506 505 Columns 497 through 504 504 503 502 501 500 499 498 497 Columns 505 through 512 496 495 494 493 492 491 490 489 Columns 513 through 520 488 487 486 485 484 483 482 481 Columns 521 through 528 480 479 478 477 476 475 474 473 Columns 529 through 536 472 471 470 469 468 467 466 465 Columns 537 through 544 464 463 462 461 460 459 458 457 Columns 545 through 552 456 455 454 453 452 451 450 449 Columns 553 through 560 448 447 446 445 444 443 442 441 Columns 561 through 568 440 439 438 437 436 435 434 433 Columns 569 through 576 432 431 430 429 428 427 426 425 Columns 577 through 584 424 423 422 421 420 419 418 417 Columns 585 through 592 416 415 414 413 412 411 410 409 Columns 593 through 600 408 407 406 405 404 403 402 401 Columns 601 through 608 400 399 398 397 396 395 394 393 Columns 609 through 616 392 391 390 389 388 387 386 385 Columns 617 through 624 384 383 382 381 380 379 378 377 Columns 625 through 632 376 375 374 373 372 371 370 369 Columns 633 through 640 368 367 366 365 364 363 362 361 Columns 641 through 648 360 359 358 357 356 355 354 353 Columns 649 through 656 352 351 3...

9   Fail
%% N = randi(1000); x = fliplr(toeplitz(1:N)); assert(isequal(maxdiag(x),[1:N,N-1:-1:1]))

x = Columns 1 through 16 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Columns 17 through 32 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 Columns 33 through 48 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 Columns 49 through 64 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 Columns 65 through 80 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 Columns 81 through 96 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 Columns 97 through 112 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 Columns 113 through 128 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 Columns 129 through 144 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 Columns 145 through 160 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 Columns 161 through 176 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 Columns 177 through 192 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 Columns 193 through 208 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 Columns 209 through 224 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 Columns 225 through 240 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 Columns 241 through 256 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 Columns 257 through 272 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 Columns 273 through 288 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 Columns 289 through 304 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 Columns 305 through 320 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 Columns 321 through 336 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 Columns 337 through 352 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 Columns 353 through 368 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 Columns 369 through 384 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 Columns 385 through 400 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 Columns 401 through 416 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 Columns 417 through 432 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 Columns 433 through 448 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 Columns 449 through 464 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 Columns 465 through 480 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 Columns 481 through 496 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 Columns 497 through 512 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 Columns 513 through 528 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 Columns 529 through 544 529 530 531 532 531 530 529 528 527 526 525 524 523 522 521 520 Columns 545 through 560 519 518 517 516 515 514 513 512 511 510 509 508 507 506 505 504 Columns 561 through 576 503 502 501 500 499 498 497 496 495 494 493 492 491 490 489 488 Columns 577 through 592 487 486 485 484 483 482 481 480 479 478 477 476 475 474 473 472 Columns 593 through 608 471 470 469 468 467 466 465 464 463 462 461 460 459 458 457 456 Columns 609 through 624 455 454 453 452 451 450 449 448 447 446 445 444 443 442 441 440 Columns 625 through 640 439 438 437 436 435 434 433 432 431 430 429 428 427 426 425 424 Columns 641 through 656 423 422 421 420 419 418 417 416 415 414 413 412 411 410 409 408 Columns 657 through 672 407 406 405 404 403 402 401 400 399 398 397 396 395 394 393 392 Columns 673 through 688 391 390 389 388 387 386 385 384 383 382 381 380 379 378 377 376 Columns 689 through 704 375 374 373 372 371 370 369 368 367 366 365 364 363 362 361 360 Columns 705 through 720 359 358 357 356 355 354 353 352 351 350 349 348 347 346 345 344 Columns 721 through 736 343 342 341 340 339 338 337 336 335 334 333 332 331 330 329 328 Columns 737 through 752 327 326 325 324 323 322 321 320 319 318 317 316 315 314 313 312 Columns 753 through 768 311 310 309 308 307 306 305 304 303 302 301 300 299 298 297 296 Columns 769 through 784 295 294 293 292 291 290 289 288 287 286 285 284 283 282 281 280 Columns 785 through 800 279 278 277 276 275 274 273 272 271 270 269 268 267 266 265 264 Columns 801 through 816 263 262 261 260 259 258 257 256 255 254 253 252 251 250 249 248