Перейти к публикации
  • Сейчас на странице   Всего пользователей: 2   (0 пользователей, 2 гостя)

Hed-kun

Программирование, т. 6

Рекомендованные сообщения

изи пет проект написать телеграм бота который будет например погоду сегодняшнюю отдавать для введенного города,

это надо и сайт найти с погодой, пошариться где открытое api есть или парсить html и писать в БД или в кеш любой, api телеграм бота реализовать, ну короче для новичка есть над чем подумать

@сын шлюхи

для пет проджекта можешь замутить свой супер простой форум например

гугли spring pet clinic и можешь оттуда брать примеры спринга

спасибо

 

кстати, пока я здесь, я бы хотел признаться в любви к регуляркам, пиздец обожаю регэкспы и люблю, когда возникают ситуации, когда нужно смэтчить что-то нетривиальное. собственно, при этом мастхев https://regex101.com/ - лучший инструмент для регулярок евер, отсосал бы создателям. вот такому ресурсу реально хочется задонатить, авторы очень сильно постарались

Поделиться сообщением


Ссылка на сообщение

php , как доехать до стажера/джуна

Бля, парни короче тема такая, я слепил веб-магаз на процедурке, ну CRUD операции + авторизация с кукой, немного разобрался в  sql-инъекциях , ну на процедурке влепил escape_string и db->intval перед запросами в бд , щас читаю как это все реализовать на MVC... , дальше курс на ООП(читал зандастр до 115 стр, дальше нихуя не понимаю...+ гугл)

Короче такая ситуация, был на стажировке , там был вопрос : есть строка "aaabbbbcccccccc" ,как вывести подстроку с максильмано повторными символами ?( в данном случае это "cccccccc") Я не прошу ответ( хотя было бы неплохо, мой вариант решения этого примера есть, но не верный)

Кто нить из вас знает пособия или матириалы по практике/лабам с таким уровнем сложности примером?? был бы оч признателен ХЕЕЕЕЛП!

Поделиться сообщением


Ссылка на сообщение

как можно программировать с таким хаосом в башке? ты же даже разговаривать нормально не можешь

Milky_Way понравилось это

Поделиться сообщением


Ссылка на сообщение
(изменено)

по поводу подстроки

 

вот псевдокод:

function biggestSubstring(input) {
	biggest = "";
	current = "";
	
	if (input.length > 0) {
		for (i = 0; i < input.length; i++) {
			char = input[i];

			if (current == "" || current[0] == char) {
				current += char;
				continue;
			}

			if (biggest == "" || current.length > biggest.length) {
				biggest = current;
			}
			
			current = char;
		}

		if (biggest == "" || current.length > biggest.length) {
			biggest = current;
		}
	}
	
	return biggest;
}
подход "в лоб", наверняка можно быстрей и красивей
Изменено пользователем сын шлюхи moonfangtopich

Поделиться сообщением


Ссылка на сообщение
(изменено)

Я тут насру, не обращайте внимания

function biggestSubString ($str) {
	$iter = function($str, $cur, $prev) use (&$iter) {
		if (!$str) {
			return $prev;
		}
		
		if (!strstr($cur, $str[0])) {
			$cur = $str[0];
		} else {
			$cur .= $str[0];
		}

		if (strlen($cur) > strlen($prev)) {
			return $iter(sub1str($str, 1), $cur, $cur);
		}

		return $iter(sub1str($str, 1), $cur, $prev);
	};
	return $iter($str, '', '');
}

Там где sub1str, просто substr, а то ёбаный клауд паникует и не пропускает

 

Не придумал по фасту, как обойти варнинг на пустую строку if ($str[0] != $cur[0]), поэтому высрал это if (!strstr($cur, $str[0]))


Изменено пользователем Дэфрэл

In a mad world, only the mad are sane. 

 

ggg.gif

 

Поделиться сообщением


Ссылка на сообщение
(изменено)
string BiggestSubstring(string str)
{
	if (String.IsNullOrEmpty(str)) 
	    return "";
	    
	var maxChar = str.GroupBy(c => c)
		.Select(g => new {Char = g.Key, Count = g.Count()})
		.OrderByDescending(g => g.Count)
		.First();
	return new String(maxChar.Char, maxChar.Count);	
}

даже не хочу проверять, как медленно это может работать  :trollface:

 

 

Нахуя я это делаю в 2 ночи

 

public static string BiggestCharSubstr(string str)
        {
            if (String.IsNullOrEmpty(str))
                return "";

            int length = 1, maxLength = 1;
            char curChar = str[0], maxChar = str[0];
            for (int i = 1; i < str.Length; i++)
            {
                if (str[i] == curChar)
                {
                    length++;
                }
                else
                {
                    if (length > maxLength)
                    {
                        maxLength = length;
                        maxChar = curChar;
                    }
                    curChar = str[i];
                    length = 1;
                }
            }
            if (length > maxLength)
            {
                maxLength = length;
                maxChar = curChar;
            }

            return new String(maxChar, maxLength);
        } 

быстрее на длинных строках вряд ли выйдет

 

 


Изменено пользователем Kant

Торжество разума в том, чтобы уживаться с теми, у кого этого разума нет. Вольтер.
Чтобы хорошо высыпаться, нужно спать 8 часов в день. И еще столько же ночью.

Поделиться сообщением


Ссылка на сообщение

раки душат функциональщину

 

правда хз скок там это сжирает if (!strstr($cur, $str[0]))


In a mad world, only the mad are sane. 

 

ggg.gif

 

Поделиться сообщением


Ссылка на сообщение

пиздец заебали раки

раки душат функциональщину

 

правда хз скок там это сжирает if (!strstr($cur, $str[0]))

"форкни" на том сайте, убери для теста, давай посмотрим

или че этот код делает, я не вникал. его можно выпилить конкретно для той строки, что в примере?

Поделиться сообщением


Ссылка на сообщение

можно устроить челендж пхп макак, тестируя на конкретно этой песочнице..

у меня вроде есть идея, как улучшить, пойду попробую :]

Поделиться сообщением


Ссылка на сообщение

Убрал обрезку строки, добавил индекс, выходит так

function biggestSubstring2($str) {
	$iter = function($str, $cur, $prev, $ind) use (&$iter) {
		if (strlen($str) - 1 < $ind) {
			return $prev;
		}
		
		if ($cur[0] != $str[$ind]) {
			$cur = $str[$ind];
		} else {
			$cur .= $str[$ind];
		}

		if (strlen($cur) > strlen($prev)) {
			return $iter($str, $cur, $cur, $ind + 1);
		}

		return $iter($str, $cur, $prev, $ind + 1);
	};
	return $iter($str, 'a', '', 0);
} 

http://puu.sh/shjzw/7231feffbe.png

 

Ну это с хаком if ($cur[0] != $str[$ind]), а с дефолтным if (!strstr($cur, $str[0])) там:

http://puu.sh/shjKW/3e0cbf1d14.png


In a mad world, only the mad are sane. 

 

ggg.gif

 

Поделиться сообщением


Ссылка на сообщение
(изменено)

http://sandbox.onlinephpfunctions.com/code/9c9d5a85a7d25bd1f5531f9e4d0ef664abc1b197

 

http://i.imgur.com/LWQnuqv.png

:tusila:

 

 

победоносный код, чтобы не лазить по ссылке

 

 

 

function biggestSubstring1($input) {
	$startsAt = 0;
	$length = 0;

	$currentStartsAt = 0;
	$currentLength = 0;

	for ($i = 0; $i < strlen($input); $i++) {
		if ($input[$i] == $input[$currentStartsAt]) {
			$currentLength++;
			continue;
		}
		
		if ($currentLength > $length) {
			$startsAt = $currentStartsAt;
			$length = $currentLength;
		}
		
		$currentStartsAt = $i;
		$currentLength = 1;
	}

	if ($currentLength > $length) {
		$startsAt = $currentStartsAt;
		$length = $currentLength;
	}

	return substr1($input, $startsAt, $length); // нужно убрать 1 (без единицы клаудфлейр не дает запостить)
} 

 


Изменено пользователем сын шлюхи moonfangtopich

Поделиться сообщением


Ссылка на сообщение

лол столько кипиша по решению задачи на цикл

Поделиться сообщением


Ссылка на сообщение

Пока отсасываю, но мб запотею  :trollface: 

https://i.gyazo.com/c5537b2ebf5d70cf819437926423f87f.png

http://sandbox.onlinephpfunctions.com/code/9c9d5a85a7d25bd1f5531f9e4d0ef664abc1b197

ебаш на этом сендбоксе, чтобы рядом с нынешним рекордсменом

Поделиться сообщением


Ссылка на сообщение

лол столько кипиша по решению задачи на цикл

потому что все могут сделать, задача проста и не нагружает голову, есть елемент игры - меряются у кого короче и язык позволяет это сделать в больше чем 1 способ.

Поделиться сообщением


Ссылка на сообщение
Гость
Эта тема закрыта для публикации сообщений.

×
×
  • Создать...