Stuart’s MATLAB Videos

Watch and Learn

Puzzler: Find largest connected island

Every now and then we send MATLAB challenges through the department to help sharpen our programming skills. What amazes me is the sheer variety of solutions that people come up with.

Today, I have a challenge for the community here. Given a matrix of random, positive, whole numbers, find the largest group of identical, four connected values.

If there are two groups tied for the same size, choose the largest valued. If there is still a tie, it is a free choice which to use. Simply return a binary matrix with ones where the island of connected pixels is.


I suspect that this challenge will be much easier for people with access to the Image Processing Toolbox. I am curious to see what kind of creative solutions people will find with and without the toolbox.

Here is the starter code:

n = 10; % size of matrix
v = 9; % max value of matrix, different values give bigger islands
a = round(rand(n)*v);
flag = mySolver(a); % mySolver will return a binary matrix

Your mission, write mySolver.m and place it in the comment section.

When you post your code in the comments, please use the tags

<pre> <code>

all the code so someone can just copy and paste it from the comments.

</code> </pre>
  • print


댓글을 남기려면 링크 를 클릭하여 MathWorks 계정에 로그인하거나 계정을 새로 만드십시오.