Мне нужно найти недостающее число в последовательности, не отсортированной. Эта последовательность хранится в объекте String. Например, в этой последовательности: 3 1 6 5 2
недостающее число - 4
. Между каждым номером есть \n
. Я должен сделать это, не используя структуры как Array, Dictionary, Lists и т. Д., Потому что мне нужно иметь сложность O (1). На входе я получаю также максимальное число последовательности (в последовательности примеров, я получаю номер 6) Любая идея?Найти недостающее число в последовательности, не отсортированной
ответ
МЕТОД 1 (Использовать формулу сумма) Алгоритм:
- Получить сумму чисел всего = п * (п + 1)/2 ----------- O (1)
2 Вычесть все числа от суммы и вы получите недостающее число
void ans(int total){ ///O(1)
big_total = (n+1)*(n+2)/2; // n+1 because 1 number is missing
return (big_total-total);
}
input_array()
{
int n,total=0,i;
cout<<"enter no of element";
cin>>n;
for(i=0;i<n;i++)
{
cin>>arr[i];
total+=arr[i];
}
cout<<ans(total);
}
не должно быть вашим большим итогом n * ((n + 1)/2) ? –
позволяет сказать 'n = 4', чем' arr [] = {1,3,4,5} ', чем мы используем' n + 1', потому что отсутствует одно число, поэтому общее число составляет '5' –
Да, но вопрос говорит, что не разрешено использовать массив и максимальное число. Поэтому максимальное число должно быть n и не нужно для массива. –
- 1. Найти недостающее число из не номера последовательности
- 2. найти недостающее последовательности SQL Server
- 3. SQL Server найти недостающее число
- 4. найти недостающее число (Codility тестов)
- 5. Найти недостающее число в целочисленном массиве
- 6. Найти недостающее число в вызове пастбищ Javascript
- 7. Найти наименьший положительный недостающее число в массиве
- 8. Javascript найти недостающее число в массиве
- 9. Найти наименьшее недостающее число в массиве
- 10. найти недостающее число в списке по возрастанию
- 11. Нахождение отсутствует число в последовательности
- 12. найти недостающее число, используя ограниченную память
- 13. Найти недостающее число из заданной арифметической прогрессии
- 14. найти недостающее число из списка длинных
- 15. Как найти недостающее число из списка
- 16. Получить недостающее число sql
- 17. Найти недостающее значение в последовательности чисел - столбец DGV
- 18. Найдите недостающее число в списке
- 19. Как найти, присутствует ли число в отсортированной матрице или нет?
- 20. Как проверить недостающее число из серии чисел?
- 21. Найти недостающее число в несортированном вводе с ограничениями памяти
- 22. Python: найти наименьшее недостающее положительное целое число в упорядоченном списке
- 23. Найти число вращений в циклической последовательности
- 24. PHP MySQL найти наименьшее недостающее число в колонке
- 25. Как найти первое недостающее число в каждом промежутке последовательных номеров?
- 26. RxJava: как найти меньшее число в последовательности
- 27. Найти, если число постоянно увеличивается в последовательности
- 28. Найдите недостающее число в двух отсортированных массивах
- 29. найти число, которое следует за определенное число в последовательности
- 30. Найдите недостающее число в заданной строке
Покажите нам свой код или как далеко вы пробовали эту проблему. – Gatusko
Сложность O (1) возможна только с верхним пределом длины последовательности. В противном случае вы застряли с O (n * log n) (то есть сначала сортируйте и ищите недостающее число). Или, может быть, O (n), если вы не заботитесь о пространстве. – Ctx
Сравните сумму последовательности с суммой целых чисел между значениями min и max. –