Problem 1678. Count consecutive 0's in between values of 1
So you have some vector that contains 1's and 0's, and the goal is to return a vector that gives the number of 0's between each one. for example:
Input = [0 1 0 0 0 1 0 1 1 1 0 0 0 1 0 1 1 0 0]
Output = [1 3 1 0 0 3 1 0 2]
Solution Stats
Problem Comments
-
4 Comments
My opinion is that the answers for this problem are wrong. The problem is asking for counting zeros between values 1. So for example for Input = [0 1 0 0 0 1 0 1 1 1 0 0 0 1 0 1 1 0 0] the correct Output is [3 1 0 0 3 1 0] and not [1 3 1 0 0 3 1 0 2]. Reasoning that there is no 1 at the beginning and at the end of the vector and so the beginning and end zeros should not be counted.
How about adding a test case in which vector x starts with a 1, such as x = [1 0 0 1 0] ? (Several of the submitted/approved solutions would give the answer as y = [0 2 1] instead of y = [2 1] . )
The starting or the trailing zeros in the array shouldn't be counted.
I think your first test case is wrong: when x = [1], then there are no pairs of consecutive ones, and the proper answer is y = [] rather than y = [0]. In contrast, y = [0] is correct when x = [1 1], where there are two ones that have no zeros in between.
Solution Comments
Show commentsProblem Recent Solvers361
Suggested Problems
-
90707 Solvers
-
Sum of diagonal of a square matrix
1543 Solvers
-
Create a square matrix of multiples
462 Solvers
-
Find the maximum two numbers of every column of a matrix
185 Solvers
-
4543 Solvers
More from this Author17
Problem Tags
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!