57 / 43 / 12
Регистрация: 27.10.2018
Сообщений: 454
|
||||||
1 | ||||||
Оптимизировать код14.07.2019, 23:25. Показов 1884. Ответов 26
Метки нет (Все метки)
Для решения задачи :
"Given an array a that contains only numbers in the range from 1 to a.length, find the first duplicate number for which the second occurrence has the minimal index. In other words, if there are more than 1 duplicated numbers, return the number for which the second occurrence has a smaller index than the second occurrence of the other number does. If there are no such elements, return -1. Example For a = [2, 1, 3, 5, 3, 2], the output should be firstDuplicate(a) = 3. There are 2 duplicates: numbers 2 and 3. The second occurrence of 3 has a smaller index than the second occurrence of 2 does, so the answer is 3. For a = [2, 2], the output should be firstDuplicate(a) = 2; For a = [2, 4, 3, 5, 1], the output should be firstDuplicate(a) = -1. Input/Output [execution time limit] 0.5 seconds (cpp) [input] array.integer a Guaranteed constraints: 1 ≤ a.length ≤ 105, 1 ≤ a[i] ≤ a.length. [output] integer The element in a that occurs in the array more than once and has the minimal index for its second occurrence. If there are no such elements, return -1." Я написал такой код :
Пожалуйста помогите оптимизировать данный код или придумать другой алгоритм.
0
|
14.07.2019, 23:25 | |
Ответы с готовыми решениями:
26
Оптимизировать код Оптимизировать код Оптимизировать код Как оптимизировать код |
863 / 513 / 215
Регистрация: 19.01.2019
Сообщений: 1,216
|
||||||
14.07.2019, 23:57 | 2 | |||||
0
|
57 / 43 / 12
Регистрация: 27.10.2018
Сообщений: 454
|
|
15.07.2019, 00:12 [ТС] | 3 |
0
|
863 / 513 / 215
Регистрация: 19.01.2019
Сообщений: 1,216
|
|
15.07.2019, 00:17 | 4 |
Вижу, ретурн не там, где у меня.
0
|
57 / 43 / 12
Регистрация: 27.10.2018
Сообщений: 454
|
|
15.07.2019, 00:23 [ТС] | 5 |
0
|
863 / 513 / 215
Регистрация: 19.01.2019
Сообщений: 1,216
|
||||||
15.07.2019, 01:12 | 6 | |||||
Сообщение было отмечено plzvtl как решение
Решение
1
|
6340 / 3511 / 1427
Регистрация: 07.02.2019
Сообщений: 8,977
|
|
15.07.2019, 01:20 | 7 |
del
0
|
863 / 513 / 215
Регистрация: 19.01.2019
Сообщений: 1,216
|
|
15.07.2019, 01:31 | 8 |
Полагаю, второй вариант их устроил. Вот ерунда в том, что
тут они гарантируют размер самих чисел в массиве от 1 до 105 включительно. Соответственно, в первом варианте нужен массив размером 106. А по факту, в тесте они засунули туда другие числа, от чего выход за пределы массива и ошибки. Зато резиновый сет справился.
0
|
57 / 43 / 12
Регистрация: 27.10.2018
Сообщений: 454
|
|
15.07.2019, 01:37 [ТС] | 9 |
Посыпаю голову пеплом.
Тут исключительно моя вина, я в тупую скопировал условие и недоглядел за корректностью скопированого. Там 10^5.
0
|
nalbe666
|
15.07.2019, 01:39
#10
|
Не по теме: Загадка разгадана, можно спокойно идти спать :).
0
|
57 / 43 / 12
Регистрация: 27.10.2018
Сообщений: 454
|
|
15.07.2019, 01:41 [ТС] | 11 |
0
|
7437 / 5029 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
|
||||||
15.07.2019, 02:05 | 12 | |||||
plzvtl, а такой вариант проходит тест ?:
0
|
57 / 43 / 12
Регистрация: 27.10.2018
Сообщений: 454
|
|
15.07.2019, 02:24 [ТС] | 13 |
0
|
57 / 43 / 12
Регистрация: 27.10.2018
Сообщений: 454
|
|
15.07.2019, 02:25 [ТС] | 14 |
0
|
7437 / 5029 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
|
||||||
15.07.2019, 02:44 | 15 | |||||
plzvtl, возможно подаётся int - вектор, проверьте с типом int:
0
|
57 / 43 / 12
Регистрация: 27.10.2018
Сообщений: 454
|
|
15.07.2019, 02:49 [ТС] | 16 |
0
|
57 / 43 / 12
Регистрация: 27.10.2018
Сообщений: 454
|
|
15.07.2019, 03:22 [ТС] | 17 |
на 1 тест больше чем 1 вариант (мой)
0
|
7437 / 5029 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
|
||||||
15.07.2019, 03:26 | 18 | |||||
plzvtl, size_t не укладывался в значения, ещё разок проверьте пожалста
0
|
57 / 43 / 12
Регистрация: 27.10.2018
Сообщений: 454
|
|
15.07.2019, 03:30 [ТС] | 19 |
0
|
7437 / 5029 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
|
||||||
15.07.2019, 03:43 | 20 | |||||
plzvtl, по времени ограничение. возможно (не проверял) быстрее будет если j начинать c i:
0
|
15.07.2019, 03:43 | |
15.07.2019, 03:43 | |
Помогаю со студенческими работами здесь
20
Оптимизировать и минимализировать код Нужно оптимизировать код Как оптимизировать код? Нужно оптимизировать код Помогите оптимизировать код Как оптимизировать код? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |