Является предпочтение решений для грубой силы плохим знаком? [закрытый]

вам нужно изменить метод виджета shouldBeDisplayed следующим образом:

public function shouldBeDisplayed(){
   return auth()->user()->hasRole('admin');
}

он просто проверяет, является ли роль текущего пользователя администратором или нет.

удачи

12
задан ROMANIA_engineer 1 December 2017 в 21:26
поделиться

12 ответов

Я думаю, что необходимо посмотреть на то, что конечная цель и каковы ограничения.

Иногда метод "в лоб" может решить проблему в 50 мс, испытывающих каждую комбинацию решений, и "умное" решение может решить его в 10 мс. В той точке, менее умном, но более легком для понимания решения превосходит умное решение.

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

Поэтому спросите себя, почему Вы делаете попытку этих Euler проблем Проекта? Вы делаете его для изучения? Затем, возможно, попытка умного решения была бы в Ваших интересах, но только после начальной попытки решения для грубой силы помочь получить схватывание проблемы.

При выполнении проблем проблемы Python я пытаюсь сделать это самый сжатый способ, которым я могу, раздвигая границы моих способностей. После того, как я решаю его, я затем рассматриваю другие ответы народов и делаю умственные заметки людей, которые были более умными, чем я и что они сделали. Некоторые люди сделают специальное использование структуры данных, о которой я не думал, который больше подходит для задачи, или у них будут небольшие математические приемы, которые они используют для создания их алгоритма более эффективным. В конце я пытаюсь поглотить такой большой их ум, как я могу и заставлять его показать в следующий раз, когда мне дарят проблему аналогичного характера.

23
ответ дан 2 December 2019 в 02:54
поделиться

Нет, это не плохая вещь. У меня были решения, которые были так изящны, они были неправы.

10
ответ дан 2 December 2019 в 02:54
поделиться

Как программист новичка, Вы будете тратить больше своей умственной энергии, выясняющей, как на самом деле реализовать вещи в C++, вместо того, чтобы тратить энергию на нахождение умного решения каждой проблемы. Это прекрасно, потому что это дает Вам возможность исследовать различные области C++ при работе над диапазоном различных видов проблем.

Когда Вы становитесь опытными в C++, и Вы не должны думать о том, как сделать каждую небольшую вещь, затем Вы сможете провести больше времени, изобретая решения не"в лоб".

10
ответ дан 2 December 2019 в 02:54
поделиться

Изящные решения не были созданы спонтанно; они были получены из решений "в лоб", когда больше скорости или меньше потребления памяти требовались от текущего решения.

Так не, это не. Это - как изящные решения возникли.

6
ответ дан 2 December 2019 в 02:54
поделиться

Ken Thompson: "Когда в сомнении, используйте грубую силу"

4
ответ дан 2 December 2019 в 02:54
поделиться

У меня есть вид прошедших эта эволюция:

  1. Заставьте это компилировать
  2. Заставьте его работать как ожидалось
  3. Выясните одно решение, которое работает
  4. Выясните одно хорошее решение
  5. Выясните несколько решений и найдите лучшее
  6. Выясните несколько решений и найдите лучшее для этой ситуации
  7. ?? еще не добрались там
4
ответ дан 2 December 2019 в 02:54
поделиться

Я сказал бы, что не, это не плохой знак. На самом деле Вы делаете себе одолжение путем отклонения далеко от преждевременной оптимизации, который является определенно Хорошей Вещью.

3
ответ дан 2 December 2019 в 02:54
поделиться

изучение является процессом грубой силы. Я не сказал бы его плохое. В попытке сделать что-то тот путь можно заметить шаблон. Я думаю, пока Вы думаете о чем-то и пытаетесь найти решения, которые Вы изучите. Существует немного людей, которые просто переходят к самым изящным или эффективным решениям.

Было бы трудно убедить меня, что людей, которые пытаются учиться, можно было когда-либо называть плохими. Кроме, возможно, злого ученого :P

удачи.

2
ответ дан 2 December 2019 в 02:54
поделиться

Вы соответствуете в правиле времени выполнения 1 минуты для проблем? Если да, то Ваше решение "для грубой силы" выполняет все требования, и это - на самом деле очень хороший знак, что можно быстро придумать что-то, что работает!

Эти виды проблем поощряют микрооптимизацию и очень умные алгоритмы, но в целом очень читаемую простую реализацию будет намного легче поддержать и будет одобрена в деловом мире.

1
ответ дан 2 December 2019 в 02:54
поделиться

Если это, оказывается, ситуация, где "грубая сила" => "простой" и "изящный" => "комплекс", то грубая сила побеждает. И это очень часто верно.

1
ответ дан 2 December 2019 в 02:54
поделиться

Нисколько. Решите проблему правильно и полностью затем сделайте ее более производительной или изящной по мере необходимости.

Но это вовсе не значит необходимо проигнорировать очевидные повышения производительности... Просто не фокусируйтесь на них, пока Вы не поймете проблемы лучше.

1
ответ дан 2 December 2019 в 02:54
поделиться

Это - определенно не плохой знак отклониться к грубой силе, тем более, что новичок, потому что Вы не можете знать ничего лучшего. Особенно с Euler Проекта, это - плохой знак реализовать метод грубой силы и не рассмотреть комментарии для изучения более эффективного способа.

Я часто заканчиваю в той же лодке, в которой Вы находитесь, и это на самом деле, почему я начал делать проблемы P.E. - я реализовывал много методов решения "в лоб" и требуемый для воздействия меня более изящных решений...

0
ответ дан 2 December 2019 в 02:54
поделиться
Другие вопросы по тегам:

Похожие вопросы: