Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Оптимизировать код

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
kir55rus
Отправлено: 18 Февраля, 2013 - 18:59:44
Post Id


Новичок


Покинул форум
Сообщений всего: 52
Дата рег-ции: Янв. 2012  
Откуда: Омск, Россия


Помог: 0 раз(а)




Здравствуйте. вот код:

PHP:
скопировать код в буфер обмена
  1. function xstr($str){
  2.         global $c;
  3.  
  4.         for($i=2, $len=strlen($str); $i<=$len; $i++){
  5.                
  6.                 $tstr = substr($str, 0, $i);
  7.                 if(substr_count($tstr, "b") == substr_count($tstr, "a")) $c++;
  8.        
  9.         }
  10.         if(2 < strlen($str)) xstr(substr($str, 1));
  11.         return true;
  12. }
  13.  
  14. $c=0;
  15. xstr("abbsb");
  16.  


что он делает:
из строки abcd получит: (на этих буквах нагляднее. на самом делал работа идет только с a и b)

Во время получения этих строк, он считает количество букв a и b в них. И если их количество равно, то увеличивает счетчик на 1
В итоге в переменной $c будет количество подстрок, в которых количество букв a и b равно

Как можно реализовать подобное, но более оптимально? может формулы какие-нибудь...
Нужно сократить время работы скрипта

В конечном итоге нам нужно узнать сколько подстрок в данной строке, у которых количество a и b одинаковое

Благодарен за ответы

(Отредактировано автором: 18 Февраля, 2013 - 19:01:15)

 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB