Given a positive integer N, count all possible distinct binary strings of length N such that there are no consecutive 1’s.
Examples:
Input: N = 2 Output: 3 // The 3 strings are 00, 01, 10 Input: N = 3 Output: 5 // The 5 strings are 000, 001, 010, 100, 101
Recommended: Please solve it on “PRACTICE ” first, before moving on to the solution.
PHP
<?php // PHP program to count all distinct // binary stringswithout two // consecutive 1's function countStrings( $n ) { $a [ $n ] = 0; $b [ $n ] = 0; $a [0] = $b [0] = 1; for ( $i = 1; $i < $n ; $i ++) { $a [ $i ] = $a [ $i - 1] + $b [ $i - 1]; $b [ $i ] = $a [ $i - 1]; } return $a [ $n - 1] + $b [ $n - 1]; } // Driver Code echo countStrings(3) ; // This code is contributed by nitin mittal ?> |
5
Time Complexity: O(n)
Auxiliary Space: O(n)
Please refer complete article on Count number of binary strings without consecutive 1’s for more details!
<!–
–>
Please Login to comment…