PHP Program to Count Sets of 1s and 0s in a Binary Matrix Last Updated : 22 Jul, 2024 Summarize Comments Improve Suggest changes Share Like Article Like Report Given a N x M Binary Matrix, count the number of sets where a set can be formed one or more same values in a row or column. Examples: Input: [[ 1, 0, 1 ], [ 0, 1, 0 ]] Output: 8 Explanation: There are six one-element sets (three 1s and three 0s). There are two two - element sets, the first one consists of the first and the third cells of the first row. The second one consists of the first and the third cells of the second row. Input: [[ 1, 0 ], [ 1, 1 ]] Output: 6The number of non-empty subsets of x elements is 2x - 1. We traverse every row and calculate numbers of 1’s and 0’s cells. For every u zeros and v ones, total sets is 2u - 1 + 2v - 1. We then traverse all columns and compute same values and compute overall sum. We finally subtract m x n from the overall sum as single elements are considered twice. PHP <?php // PHP program to compute number of sets // in a binary matrix. // Number of columns $m = 3; // Number of rows $n = 2; // Function to calculate the number // of non empty sets of cell function countSets($a) { global $m, $n; // Stores the final answer $res = 0; // Traverses row-wise for ($i = 0; $i < $n; $i++) { $u = 0; $v = 0; for ( $j = 0; $j < $m; $j++) $a[$i][$j] ? $u++ : $v++; $res += pow(2, $u) - 1 + pow(2, $v) - 1; } // Traverses column wise for ($i = 0; $i < $m; $i++) { $u = 0;$v = 0; for ($j = 0; $j < $n; $j++) $a[$j][$i] ? $u++ : $v++; $res += pow(2, $u) - 1 + pow(2, $v) - 1; } // At the end subtract // n*m as no of single // sets have been added // twice. return $res-($n*$m); } // Driver Code $a = array(array(1, 0, 1), array(0, 1, 0)); echo countSets($a); ?> Output8Time Complexity: O(n * m) Space Complexity: O(1) as no extra space has been taken.Please refer complete article on Counting sets of 1s and 0s in a binary matrix for more details! Comment More infoAdvertise with us Next Article PHP Program to Count Zeros and Ones in Binary Representation of a Number K kartik Follow Improve Article Tags : PHP Similar Reads PHP Program to Count set bits in an integer Write an efficient program to count number of 1s in binary representation of an integer. Examples : Input : n = 6 Output : 2 Binary representation of 6 is 110 and has 2 set bits Input : n = 13 Output : 3 Binary representation of 11 is 1101 and has 3 set bits Recommended: Please solve it on âPRACTICE 2 min read PHP Program to Count number of binary strings without consecutive 1's Write a PHP program for a given positive integer N, the task is to count all possible distinct binary strings of length N such that there are no consecutive 1s. Examples: Input: N = 2Output: 3Explanation: The 3 strings are 00, 01, 10 Input: N = 3Output: 5Explanation: The 5 strings are 000, 001, 010, 2 min read PHP Program to Count 1's in a sorted binary array Given a binary array sorted in non-increasing order, count the number of 1's in it. Examples: Input: arr[] = {1, 1, 0, 0, 0, 0, 0}Output: 2Input: arr[] = {1, 1, 1, 1, 1, 1, 1}Output: 7Input: arr[] = {0, 0, 0, 0, 0, 0, 0}Output: 0A simple solution is to linearly traverse the array. The time complexit 2 min read PHP Program to Count Zeros and Ones in Binary Representation of a Number Counting the number of zeros and ones in the binary representation of a number is a common task in computer science and programming. In this article, we will explore how to achieve this in PHP using different approaches. Table of Content Using Built-in FunctionsUsing Bitwise OperationsUsing Recursiv 5 min read PHP Program for Find the number of islands | Set 1 (Using DFS) Given a 2D boolean matrix, the task is to find the number of islands. An island is a group of connected 1s. For example, the below matrix contains 6 islands Example: Input : mat[][] = {{1, 1, 0, 0, 0}, {0, 0, 0, 0, 1}, {1, 0, 0, 1, 1}, {0, 0, 0, 0, 0}, {1, 0, 1, 0, 1} Output : 6 This is a variation 3 min read PHP Program for Frequencies of Even and Odd Numbers in a Matrix Given a matrix of order m*n then the task is to find the frequency of even and odd numbers in matrix.Examples: Input : m = 3, n = 3 [[ 1, 2, 3 ], [ 4, 5, 6 ], [ 7, 8, 9 ]]Output : Frequency of odd number = 5 Frequency of even number = 4Input : m = 3, n = 3 [[ 10, 11, 12 ], [ 13, 14, 15 ], [ 16, 17, 2 min read Like