57 / 43 / 12
Регистрация: 27.10.2018
Сообщений: 454
|
||||||
1 | ||||||
Оптимизировать код14.07.2019, 23:25. Показов 1886. Ответов 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
Оптимизировать код Оптимизировать код Оптимизировать код Как оптимизировать код |
57 / 43 / 12
Регистрация: 27.10.2018
Сообщений: 454
|
|
15.07.2019, 03:47 [ТС] | 21 |
0
|
7437 / 5029 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
|
|
15.07.2019, 03:54 | 22 |
plzvtl, мне показалось, что Вы хотите разобраться, почему именно Ваш вариант не проходит тесты, а код
nalbe666 с другим алгоритмом, и пытался сбросить наиболее близкий к Вашему алгоритму вариант.
0
|
57 / 43 / 12
Регистрация: 27.10.2018
Сообщений: 454
|
|
15.07.2019, 04:01 [ТС] | 23 |
Да , это имеет смысл.
По поводу начинать с i , так в моем примере я начинаю с i+1. Добавлено через 2 минуты после этого так то и "i !=j" стало лишним потому что мы с +1 начинаем
0
|
7437 / 5029 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
|
|
15.07.2019, 04:03 | 24 |
скорее всего именно так и нужно. но так как Вы не сообщили результат моего последнего варианта, наверное для Вас это уже не актуально.
0
|
57 / 43 / 12
Регистрация: 27.10.2018
Сообщений: 454
|
|
15.07.2019, 04:08 [ТС] | 25 |
Yetty, результат тот же, могу кинуть скрин , но я не понимаю зачем начинать с i а не i+1 если сразу проверка в if не проходит при j=i
0
|
7437 / 5029 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
|
||||||
15.07.2019, 04:15 | 26 | |||||
зачем скрин, если результат тот же ? там 2 теста вроде не проходит, проверьте ещё с Вашей поправкой:
0
|
57 / 43 / 12
Регистрация: 27.10.2018
Сообщений: 454
|
|
15.07.2019, 04:17 [ТС] | 27 |
0
|
15.07.2019, 04:17 | |
15.07.2019, 04:17 | |
Помогаю со студенческими работами здесь
27
Оптимизировать и минимализировать код Нужно оптимизировать код Как оптимизировать код? Нужно оптимизировать код Помогите оптимизировать код Как оптимизировать код? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |