Files
TheAlgorithms-PHP/Strings/CountHomogenous.php
niharikamahajan02 afc6d11844 Added code for findng no of homogenous substrings (#146)
* Create CountHomogenous.php

Added count no of homogenous substrings

* Added program for finding no. of homogenous substrings

* Update Strings/CountHomogenous.php

Co-authored-by: Brandon Johnson <bbj1979@gmail.com>

* Update Strings/CountHomogenous.php

Co-authored-by: Brandon Johnson <bbj1979@gmail.com>

* Update tests/Strings/StringsTest.php

Co-authored-by: Brandon Johnson <bbj1979@gmail.com>

* Update StringsTest.php

* Update Strings/CountHomogenous.php

Co-authored-by: Brandon Johnson <bbj1979@gmail.com>

* Update tests/Strings/StringsTest.php

Co-authored-by: Brandon Johnson <bbj1979@gmail.com>

* Update CountHomogenous.php

* Update tests/Strings/StringsTest.php

* Update tests/Strings/StringsTest.php

* Fix homogenous count unit test

* Fix count homogenous substrings algorithm

* PHPCBF: remove inline control structure

---------

Co-authored-by: Brandon Johnson <bbj1979@gmail.com>
2024-06-13 23:26:17 -06:00

33 lines
807 B
PHP

<?php
/**
* Count homogenous substrings
* @param String $s
* @return Integer
*/
function countHomogenous($s)
{
// Initialize the count of homogeneous substrings
$count = 0;
// Length of the string
$length = strlen($s);
if ($length == 0) {
return 0; // If the string is empty, return 0
}
// Initialize the count of homogeneous substrings
$count = 1; // Start with 1 since the first character itself starts a substring
// Loop through each character in the string, starting from the second character
for ($i = 1; $i < $length; $i++) {
// Check if current character is not the same as the previous one
if ($s[$i] != $s[$i - 1]) {
$count++; // A new substring starts, increment the count
}
}
return $count;
}