Итак, у меня есть массив всех положительных натуральных чисел. Мне дано пороговое значение. Я должен выяснить, максимальное количество чисел (последовательных), сумма которых меньше заданного порогового значения.Поиск максимальных элементов (последовательных), сумма которых меньше заданного значения?
For example,
IP: arr = {3,1,2,1}
Threshold = 5
O/P: 3
Максимальный размер входного массива может быть 10^5.
В принципе, я думал об алгоритме, который вычисляет количество элементов в подмножествах исходного массива, сумма которых будет меньше заданного порога. Но это приведет к сложности O (N^2). Может ли кто-нибудь предложить лучший алгоритм? Я не ищу код, и только алгоритм/псевдокод будет отлично. Благодаря!
Но он не вернет максимальный счет. Например, если входной массив был бы «6 1 2 3» и «threshold = 5», ваш код вернет «1», когда он вернет «2». –
для 6 1 2 3 и пороговое значение 5, максимальное число равно 6? ...как бы это было 7 –