Problem 42705. Is It a Snake?
Given an m-by-n matrix, return true if the elements of the matrix are a connected "snake" shape from 1 to m*n. Otherwise return false.
Snakes are vectors that move through the grid of a matrix in a 4-connected sense. So the number 1 can be anywhere, but the number 2 must be north, south, east, or west of 1. And the number 3 must be north, south, east, or west of 2. And so on.
Examples
[ 1 2 3 4 5 ] is a snake
[ 2 1 3 4 ] is NOT a snake
[ 1 2 3 2 1 ] is NOT a snake
[ 6 5 4 3 ] is NOT a snake
[ 6 1 2 5 4 3 ] is a snake
[ 1 2 3 4 ] is NOT a snake
[ 7 8 9 10 6 1 2 11 5 4 3 12 16 15 14 13 ] is a snake
NOTE: Answers to this problem helped me write the test suite for Cody Problem 42708, Placing Beads Neatly in a Box. Thanks!
Solution Stats
Problem Comments
Solution Comments
Show commentsProblem Recent Solvers43
Suggested Problems
-
Find all elements less than 0 or greater than 10 and replace them with NaN
15609 Solvers
-
Back to basics 22 - Rotate a matrix
910 Solvers
-
Get the elements of diagonal and antidiagonal for any m-by-n matrix
484 Solvers
-
185 Solvers
-
Convert a Cell Array into an Array
1931 Solvers
More from this Author50
Problem Tags
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!