mirror of
https://github.com/TheAlgorithms/PHP.git
synced 2025-07-09 11:13:50 +02:00
* 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>
33 lines
807 B
PHP
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;
|
|
}
|