Как стать автором
Обновить
2
0
Боря Фролов @donRumatta

Пользователь

Отправить сообщение

Будет оценка, декомпозиция, рефайнмент с продактом и аналитиком: тогда все и всплывет. И самое главное, все это никак не связано с бизнесом, обычная работа обычного программиста.

Откуда сроки, когда его еще не видел и не оценивал исполнитель?

Наконец-то добрался до компа: было смутное ощущение, что можно обойтись чисто LINQ, но ReverseSplit пришлось писать вручную.

Код
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApp2
{
    static class Program
    {
        static void Main(string[] args)
        {
            CountSequences("aabccaaab");
            CountSequences("abbaaaa");
            CountSequences("aabbbccccaaaccccccca");
            CountSequences("");
            CountSequences("abababaccc");
            CountSequences("cabccaabbcccaaabbb");
            CountSequences("cabccaabbcccaaabbbcab");

            Console.ReadKey();
        }

        private static void CountSequences(string input)
        {
            var result = input
                .Distinct()
                .Select(x => 
                    new KeyValuePair<char, int>(
                        x, 
                        input.ReverseSplit(x).Max(y => y.Length)));

            var formatted = result.Select(x => $"{x.Key} - {x.Value}");
            Console.WriteLine($"{input}: {string.Join(", ", formatted)}");
        }

        public static List<string> ReverseSplit(this string input, char nonSeparator)
        {
            var result = new List<string>();

            var sb = new StringBuilder();

            void FinalizeSequence()
            {
                if (sb.Length > 0)
                {
                    result.Add(sb.ToString());

                    sb.Clear();
                }
            };

            var i = 0;
            while (i < input.Length)
            {
                if (input[i] == nonSeparator)
                {
                    sb.Append(nonSeparator);
                }
                else
                {
                    FinalizeSequence();
                }

                i++;
            }

            FinalizeSequence();

            return result;
        }
    }
}

Интересно, что я тоже сходу накосячил с «abbaaaa», как и sumanai, при том что решения визуально не очень-то и похожи :)
Как-то рано автор начинает палиться: можно было бы еще несколько менее явных wtf-ов накидать вначале, чтоб потянуть интригу(=
Зря негативно отозвались о Престолах: мало какая игра настолько же сбалансирована и реиграбельна (разве что Старкрафт). + эпичные допы.
Ага, спасибо за разъяснение.
А можно уточнить что за бухгалтерская отчетность? А то где-то прочитал про 6 мая и думал уже декларацию по УСН нести.
Не совсем понял ответ на вопрос «А нафига?». 50 лет лепят супервирусы, повышая их опасность, вроде как для подготовки к возможным эпидемиям. Сейчас самое время эти знания применить. Но нет: ребята, извините, мы не готовы :) Получается, цель у них, в лучшем случае, поиграться?
Комиты, которые совершаются до пулл реквеста

К чему они? Если не отвлекаться на другую ветку, что бывает очень редко, то один талон — один коммит. И девлид не придерется(=
Не совсем понимаю смысловую нагрузку MovieUser, не могли бы пояснить поподробнее?
Искал этот коммент, чтобы не дублировать(=
Спасибо, выглядит полезно, будем иметь ввиду(=
Почему бы не заняться этим в рабочее время?
class Base
{
      // общие поля
}

class A extends Base
{
      id: int;
}

class B extends Base
{
      id: string;
}
исключающий процедурный стиль IF…. ELSE…… или SWITCH …. CASE….

Он переехал в CipherFactory. Но ваш вариант конечно солиднее выглядит.
Вот что значит, когда встречаются представители разных вселенных(= Common Language Runtime — это .NET-овская среда, которая может выполнять программы, собранные из dll, так же написанных, например, на C#, F#, VB и т. д. Но за счет 2-этапной компиляции сначала в Intermediate Language, а затем уже JIT-ом в машинный код. Что-то общее с вашим случаем чувствуется, но у меня, к сожалению, не хватает знаний, чтобы осознать.
концепция ILE (Integrated Language Environment)

CLR без IL и JIT? это как(=
Очередь вроде RabbitMq и предупредить юзеров о небольшом delay.

Информация

В рейтинге
Не участвует
Откуда
Курск, Курская обл., Россия
Дата рождения
Зарегистрирован
Активность