Итак, я недавно изучал Dynami c Programming (DP), и когда я столкнулся со следующей проблемой, я решил использовать DP, но, поскольку я новичок в алгоритмах, я не уверен, что это действительный пример DP или нет.
Проблема:
Учитывая массив nums. Мы определяем текущую сумму массива как runningSum [i] = sum (nums [0]… nums [i]). Вернуть текущую сумму чисел.
Example 1:
Input: nums = [1,2,3,4]
Output: [1,3,6,10]
Explanation: Running sum is obtained as follows: [1, 1+2, 1+2+3, 1+2+3+4].
Это мое решение «DP»:
class Solution {
public int[] runningSum(int[] nums) {
int[] arr = new int[nums.length];
int sum = 0;
for(int i = 0; i < nums.length; i++){
arr[i] = nums[i] + sum;
sum += nums[i];
}
return arr;
}
}