Давный массив целых чисел найдите подмножество несмежных элементов с максимальной суммой. Вычислите сумму этого подмножества.
Сначала я попробовал решить, используя подход динамического программирования. Вот что я написал:
Код: Выделить всё
def maxSubsetSum(arr):
if(len(arr)>2):
#mainting this array for storing intermediate result and last element of this will always be max sum
li=[0]*len(arr)
li[0]=arr[0]
li[1]=arr[1] if arr[1]>li[0] else li[0]
for i in range(2,len(arr)):
li[i] = max(li[i-1],arr[i]+li[i-2])
return li[len(arr)-1]
else:
return max(arr)
Я использовал несколько хаков, чтобы получить один из скрытых тестовых примеров. PFB - тестовый пример, он довольно большой, поэтому загружаю в Pastebin
https://pastebin.com/GrM4gFJF
Просто хочу знать, что не так в код, из-за которого некоторые тест-кейсы не работают
Подробнее здесь: https://stackoverflow.com/questions/610 ... test-cases