Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
105 / 57 / 22
Регистрация: 20.12.2009
Сообщений: 1,277
Записей в блоге: 2

Не хватает времени Time Limit Exceeded

03.08.2022, 13:57. Показов 490. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте. Есть такой код календаря для бронирования дней с указанной даты до:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
class MyCalendar {
 
    private $reserved = [];
    function __construct() {        
    }  
 
    function book($start, $end) {
        for($i = $start; $i<$end; $i++)
            for($j=0; $j<count($this->reserved); $j++)
                if($i==$this->reserved[$j]) {
                    return false;
                } 
         for($i = $start; $i<$end; $i++)  
           array_push($this->reserved, $i); 
        return true;
    }
}
Проходит фиксированный тест и на больших не хватает времени:

Кликните здесь для просмотра всего текста
Time Limit Exceeded
Details
Last executed input
["MyCalendar","book","book","book"
[[],[2759,2800],[6946,6980],[9570,9613],[7897,7935],[51,109],[313,343],[4139,4193],[6418,6475],[8798,8852],[2726,2757],[9069,9124],[5512,5564],[8932,8963],[7749,7797],[4454,4500],[2174,2232],[8958,9010],[7693,7751],[1761,1792],[9842,9894],[3959,4007],[1186,1218],[2518,2575],[1130,1187],[4714,4763],[6186,6231],[4096,4152],[3311,3341],[449,499],[9478,9536],[272,302],[2549,2601],[9500,9544],[5893,5940],[8513,8571],[8491,8541],[825,865],[9509,9554],[122,168],[7869,7902],[6637,6681],[7737,7784],[653,694],[6451,6487],[6340,6389],[6632,6676],[546,597],[1876,1935],[1547,1577],[3101,3160],[5212,5261],[8221,8266],[6760,6797],[6609,6643],[3799,3841],[8026,8078],[8425,8483],[6767,6818],[3191,3248],[6661,6712],[2927,2982],[8592,8638],[312,370],[4795,4831],[6607,6654],[8480,8516],[1310,1358],[5024,5077],[7280,7319],[3935,3969],[1837,1869],[7407,7449],[3113,3162],[8466,8498],[7375,7430],[2318,2354],[9515,9547],[5541,5583],[6430,6463],[2413,2464],[2317,2363],[6183,6221],[4056,4108],[654,688],[2990,304
View All
Time Submitted Status Runtime
Memory
Language
08/03/2022 12:47 Time Limit Exceeded N/A N/A php
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
03.08.2022, 13:57
Ответы с готовыми решениями:

Time limit exceeded
http://acm.timus.ru/problem.aspx?space=1&amp;num=1196 Уже все перепробовал, и всегда возникает ошибка &quot;Time limit exceeded&quot; на...

Time limit exceeded
Решаю задачки на одном сайте, там есть онлайн компилятор. Моя VS справляется, но компилятор с сайта говорит Time limit exceeded. Т.к....

Time limit exceeded
Добрый день. Программа - бинарный поиск правой границы в упорядоченном множестве фраз. Возникает ошибка в компиляторе на сайте: &quot;time...

4
Эксперт PHP
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
03.08.2022, 14:16
Цитата Сообщение от Supersumestria Посмотреть сообщение
Есть такой код календаря для бронирования дней с указанной даты до:
До чего?
И что этот код должен делать и как им пользоваться?
Цитата Сообщение от Supersumestria Посмотреть сообщение
Кликните здесь для просмотра всего текста
Time Limit Exceeded
Details
Last executed input
["MyCalendar","book","book","book"
[[],[2759,2800],[6946,6980],[9570,9613],[7897,7935],[51,109],[313,343],[4139,4193],[6418,6475],[8798,8852],[2726,2757],[9069,9124],[5512,5564],[8932,8963],[7749,7797],[4454,4500],[2174,2232],[8958,9010],[7693,7751],[1761,1792],[9842,9894],[3959,4007],[1186,1218],[2518,2575],[1130,1187],[4714,4763],[6186,6231],[4096,4152],[3311,3341],[449,499],[9478,9536],[272,302],[2549,2601],[9500,9544],[5893,5940],[8513,8571],[8491,8541],[825,865],[9509,9554],[122,168],[7869,7902],[6637,6681],[7737,7784],[653,694],[6451,6487],[6340,6389],[6632,6676],[546,597],[1876,1935],[1547,1577],[3101,3160],[5212,5261],[8221,8266],[6760,6797],[6609,6643],[3799,3841],[8026,8078],[8425,8483],[6767,6818],[3191,3248],[6661,6712],[2927,2982],[8592,8638],[312,370],[4795,4831],[6607,6654],[8480,8516],[1310,1358],[5024,5077],[7280,7319],[3935,3969],[1837,1869],[7407,7449],[3113,3162],[8466,8498],[7375,7430],[2318,2354],[9515,9547],[5541,5583],[6430,6463],[2413,2464],[2317,2363],[6183,6221],[4056,4108],[654,688],[2990,304
View All
Time Submitted Status Runtime
Memory
Language
08/03/2022 12:47 Time Limit Exceeded N/A N/A php
А тут что зашифровано?

Крайне желательно вопрос формулировать таким образом, чтобы он был понятен остальным.
0
105 / 57 / 22
Регистрация: 20.12.2009
Сообщений: 1,277
Записей в блоге: 2
03.08.2022, 15:26  [ТС]
729. My Calendar I
Medium

You are implementing a program to use as your calendar. We can add a new event if adding the event will not cause a double booking.

A double booking happens when two events have some non-empty intersection (i.e., some moment is common to both events.).

The event can be represented as a pair of integers start and end that represents a booking on the half-open interval [start, end), the range of real numbers x such that start <= x < end.

Implement the MyCalendar class:

MyCalendar() Initializes the calendar object.
boolean book(int start, int end) Returns true if the event can be added to the calendar successfully without causing a double booking. Otherwise, return false and do not add the event to the calendar.


Example 1:

Input
["MyCalendar", "book", "book", "book"]
[[], [10, 20], [15, 25], [20, 30]]
Output
[null, true, false, true]

Explanation
MyCalendar myCalendar = new MyCalendar();
myCalendar.book(10, 20); // return True
myCalendar.book(15, 25); // return False, It can not be booked because time 15 is already booked by another event.
myCalendar.book(20, 30); // return True, The event can be booked, as the first event takes every time less than 20, but not including 20.


Constraints:

0 <= start < end <= 109
At most 1000 calls will be made to book.
Accepted
187,436
Submissions
333,201
На старте дают вот такую заготовку:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
class MyCalendar {
public:
    MyCalendar() {
        
    }
    
    bool book(int start, int end) {
        
    }
};
 
/**
 * Your MyCalendar object will be instantiated and called as such:
 * MyCalendar* obj = new MyCalendar();
 * bool param_1 = obj->book(start,end);
 */
0
Эксперт PHP
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
03.08.2022, 15:38
Вместо этого (тут ещё и count во втором выражении...):
PHP
1
2
3
4
for($j=0; $j<count($this->reserved); $j++)
    if($i==$this->reserved[$j]) {
        return false;
}
лучше использовать in_array. Намного быстрее станет.

Для записи одного элемента в массив array_push лучше не использовать; предпочтительней такой вариант:
PHP
1
$this->reserved[] = $i;
P.S. Это что касается текущего алгоритма. Возможно, придумав другой алгоритм, ещё более ускорить выйдет.
1
Эксперт PHP
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
03.08.2022, 16:57
Алгоритм надо менять. Хранить каждый заняиый день не эффективно по памяти, и по времени на обход.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
03.08.2022, 16:57
Помогаю со студенческими работами здесь

Ошибка Time Limit Exceeded
Здравствуйте, необходимо написать программу, которая сдвигает массив размером n на k элементов вправо. 1&lt;=n&lt;=10^5 ...

Timus Time limit exceeded (Bingo!)
Здравствуйте. Второй день уже пытаюсь решить проблемы &quot;Timus, C#, Time limit exceeded&quot;, у меня не проходит вторую подзадачу(21 выдаёт...

Матрица инцидентности = Time-limit exceeded
Как переделать программу, чтобы время ее выполнения было &lt;0.250 sec? #include &lt;iostream&gt; using namespace std; int main() { long...

Старый недобрый time limit exceeded
Добрый вечер, при решении задачки на строки Фибоначчи случилась неприятность - превышен предел памяти. Задачка такая: всем известны...

Acm.timus.ru Time limit exceeded
Добрый день. Сама задача http://acm.timus.ru/problem.aspx?space=1&amp;num=1021 и мое решение: using System; using System.Linq; ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Загрузка PNG-файла с альфа-каналом с помощью библиотеки SDL3_image на Android
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru