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

- Кшитиз

Если вы когда-либо пытались решить проблему кодирования на любой из платформ кодирования, вы должны иметь отношение к изображению выше так или иначе. Наиболее частая ошибка, с которой мы сталкиваемся при попытке решить проблему, - это неприятная ошибка «Превышен лимит времени» или «TLE». Даже с таким количеством модификаций того, что можно подумать, чтобы уменьшить его, я лично столкнулся с множеством неудач в этом. Сегодня мы поймем базовую концепцию ограничения времени для конкретной проблемы и как избежать этой ошибки в самый первый раз.

Правило 10⁸ операций

Этого основного правила будет достаточно, чтобы программист имел четкое представление об алгоритме, который должен быть реализован. Правило 10⁸ операций гласит, что для любого онлайн-эксперта по платформе кодирования операции вашего алгоритма не должны превышать 10⁸ раз, что означает, что для заданного диапазона входных значений алгоритм должен быть реализован таким образом, чтобы он всегда выполнял ‹10⁸ операций в целом. Ниже приведен образец диаграммы для приведенного выше описания, который поможет вам лучше понять формулировку правила:

Пример

W.r.t к приведенной выше диаграмме ясно, что если для сложной задачи задан диапазон ввода около 100, у нас есть привилегия разработать алгоритм, выполняющий до 10⁴ операций при макс. Точно так же, скажем, теперь, если у нас есть 10⁵ в качестве входного диапазона, мы должны быть ограничены границей алгоритмов, выполняющих не более O (n * log (n)) операций. Следование этой стратегии не только предотвратит возникновение TLE, но также поможет получить представление о каждом применяемом нами алгоритме.

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

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

Еще раз спасибо за то, что вы потратили эти драгоценные пару минут на чтение статьи. По любым вопросам или предложениям обращайтесь:



Кшитиз Бансал - старший инженер-программист - Capgemini | LinkedIn
www.linkedin.com