Разбор тестовых заданий: Заполнение матрицы спиралью | JavaScript

Поделиться
HTML-код
  • Опубликовано: 23 янв 2020
  • В этом ролике я разберу тестовое задание на позицию FrontEnd от одного из моих учеников.
    Ссылки:
    Само задание - drive.google.com/open?id=1RNt...
    Одни из лучших и доступных курсов по JavaScript, верстке (html/css), React, Wordpress и многому другому вы найдете на campfire-school.com/
    Мой инстаграм - / petrychenko_ivan
    Телеграм-канал: t.me/petrychenko_ivan

Комментарии • 28

  • @user-tc1xq3lj5j
    @user-tc1xq3lj5j 2 года назад

    Спасибо большое за объяснение задачи 🙂

  • @michaeldevichenskiy4588
    @michaeldevichenskiy4588 4 года назад +2

    Клевенько!

  • @DomCobb11
    @DomCobb11 3 года назад

    спасибо! отличное объяснение!

  • @aslan6921
    @aslan6921 2 года назад +1

    Я новичок в программировании, вторая неделя второго месяца обучения на курсах и нам дали похожую задачу. Мы не успели дойти до неё на занятии и учитель сказал попытаться решить её самостоятельно, хоть это и не наш уровень, но вдруг у кого то получится. Для справки, мы только начали изучать и практиковать матрицы. Мой, пока ещё не "закодированный", мозг никак не мог представить, как к ней подступиться.
    Хочу поблагодарить за подробный разбор!
    P.S.
    Раз 5 пересмотрел процесс написания алгоритма, так и не понял до конца что тут происходит и как такое можно написать самостоятельно. С третьего раза смог кое-как, подсматривая на картинку, переповторить код, но больше походит на зубрёжку и копирование чужого кода без понимания логики алгоритма. Слабоват, видимо, для неё :)

  • @Imperion25
    @Imperion25 4 года назад +3

    У нас вообще было 6 разных вариантов такой задачи (шли линии зиг-загами, буквой N, G и как привидениями (на подобии знака омеги), буквой M, H) и тд. Вот это я понимаю, задание, так задание. Называется пошевели извилинами.

  • @ivanmaslow2137
    @ivanmaslow2137 4 года назад +3

    Такое чувство когда джуниор и мидл стали одно и тоже!))

    • @Imperion25
      @Imperion25 4 года назад

      это очень простая задача, она даже никак не усложнена. Все элементы идут друг за другом, пронумерованы. Тут нет ничего сложного. Другое дело, если бы ему попалось это задание, но с усложненными элементами. Например: решить ее зиг-загами или 4 С, не говоря уже об омеге и букве Н. вот тогда бы я с тобой согласился, это уже действительно сложно и не каждый справится.

    • @Imperion25
      @Imperion25 4 года назад

      мы такие задачи в универе на 1м курсе решали. Это было 12 занятие по С++. Буквально вчера пересматривал, как мы их решали, как раз вспомнились

    • @ivanmaslow2137
      @ivanmaslow2137 4 года назад +3

      @@Imperion25 Без опыта программирования сложные эти вещи

    • @Imperion25
      @Imperion25 4 года назад

      @@ivanmaslow2137 а ты думаешь у нас этот опыт был, когда мы решали. Это было наше всего-лишь 12е занятие в области программирования. Считай нули полные.

    • @ivanmaslow2137
      @ivanmaslow2137 4 года назад

      @@Imperion25 Хорошо, спасибо. Я к тому что нужно не просто уметь гуглить, нужно и понимать что гуглишь!) А для начала самому пострадать!)

  • @stepanbacho8856
    @stepanbacho8856 Год назад +1

    Алгоритм вроде имеет ошибку когда количество строк непарное

  • @user-vg3em9fs5u
    @user-vg3em9fs5u 3 года назад

    Решал такую задачу около полугода назад, когда решал задачки с codewars (ката называется snail), чуть мозги не вскипели. Решал ее помоему несколько дней (не 48 часов, конечно), подходами по 2-3 часа с попытками, удалениями всего и т.д. Но решил в конец концов через рекурсию. Сейчас оцениваю эту задачу не такой то и трудной))

    • @campfireschool
      @campfireschool  3 года назад

      Саня Плюс зато какой опыт :)

  • @contamination3084
    @contamination3084 2 года назад +1

    А как сделать так что бы при нечетных Row спираль закручивалась правильно?

    • @user-hx7cn4xr4h
      @user-hx7cn4xr4h 2 года назад +3

      Перед записью в матрицу очередного значения добавьте условие
      if counter == m * n + 1:
      running = False
      else:
      # запись в матрицу

  • @Imperion25
    @Imperion25 4 года назад

    по С++ такие задачи решали

  • @GANGST1ER
    @GANGST1ER 3 года назад +1

    Пытаюсь решить задачу на Python, вообще не понимаю.

  • @aleksgavrilov5275
    @aleksgavrilov5275 3 года назад +1

    Нагуглить решение такой задачи конечно можно, но вот так чтобы на live interview ее решить за 30 минут вообще не вариант конечно

  • @user-yi2hu4pl5h
    @user-yi2hu4pl5h 3 года назад

    Привет) а можно пожалуйста код?

    • @campfireschool
      @campfireschool  3 года назад +3

      const w = +prompt('Ширина матрицы');
      const h = +prompt('Высота матрицы');
      function matrix(w, h) {
      let result = new Array(h).fill().map(() => new Array(w).fill(''));
      let counter = 1;
      let startCol = 0;
      let endCol = w - 1;
      let startRow = 0;
      let endRow = h - 1;
      while (startCol

    • @user-yi2hu4pl5h
      @user-yi2hu4pl5h 3 года назад

      @@campfireschool Спасибо большое))

  • @niksamoil
    @niksamoil 4 года назад

    А ученик то справился? Интересно))

  • @Imperion25
    @Imperion25 4 года назад

    почему им такие легкие задания попадаются, блин (

    • @campfireschool
      @campfireschool  4 года назад

      Везде по разному, как и всегда)

    • @Imperion25
      @Imperion25 4 года назад

      @@campfireschool везде хорошо, где нас нет ( Так и с заданиями. Попадаются не те.