• Постоянные ошибки, это нормально?

    @Feamir
    И никто нормально не ответил :) Ответ на ваш вопрос - да, это абсолютно нормально, с мозгами в порядке, это лыжи не едут. Дай бог, если хотя бы 10% продуктов сложнее палки работают хорошо из коробки и как написано в мануалах. С опытом уменьшается только кол-во своих ошибок, вроде пропущенных запятых или двоеточий и других мелких тупняков, плюс вы научитесь видеть сразу узкие места, плюс быстрее будете искать решение этих проблем. В общем, в данном случае, какие бы золотые мозги не были, всё равно нужно очень много практики.
    Ответ написан
    Комментировать
  • Идти ли в QA Automation для развития как Developer?

    > Но душа лежит к разработке.
    Вот с неё и начинайте.
    Почему-то многие думают, что тестирование — это первый шаг к разработке.
    Это неверно.
    Как неверно, например, сравнивать пилота и механика. Разные вещи, хотя работают с одной железякой.
    В тестировании всегда есть куда расти внутри профессии. Не бойтесь тестирования, это сложная, но интересная наука.
    Ответ написан
    Комментировать
  • Кто хочет поломать немного мозг?

    tsarevfs
    @tsarevfs
    C++ developer
    Первым делом выделяем связанные фигуры.
    Изначально каждый отдельный квадрат и каждую фигуру помечаем "свободным".
    В цикле, пока есть свободные квадраты:
    пробегаемся по всем квадратам, если под квадратом пол или "замороженный" квадрат, морозим его;
    пробегаемся по свободным фигурам, если в фигуре появились замороженные квадраты, морозим фигуру и остальные квадраты в фигуре;
    пробегаемся по свободным фигурам, каждый квадрат из нее опускаем на 1 клетку вниз;
    идем в начало цикла.

    Если поле очень большое, можно попытаться посчитать более эффективно. Но это нужно заморочиться. Идея в том, что можно, пробежавшись по столбцам, оценить насколько могут фигуры двигаться относительно друг друга. И потом посмотреть на сколько их можно все опустить. Но дальше хз что делать =)
    Ответ написан
    Комментировать
  • Java. N ферзей, на доске, нужен алгоритм для проверки, "а что, если ферзь может стоять на том же месте" или как найти все способы?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Самый очевидный алгоритм:
    Очевидно, что в одой вертикали или горизонтали не может быть двух ферзей. Таким образом, все варианты можно представить как перестановки N чисел от 1 до N, где позиция числа - это номер вертикали, а само число - номер горизонтали. Остаётся сгенерировать такие перестановки и проверить в них диагонали, если |Pi-Pj| = |i-j|, то ферзи стоят на одной диагонали и позиция недопустима.
    Ну а дальше можно оптимизировать алгоритм, проверяя диагонали ещё на стадии генерации перестановок.
    Ответ написан
    Комментировать