本文共 763 字,大约阅读时间需要 2 分钟。
为了解决这个问题,我们需要返回一个数组B,其中每个元素B[i]等于数组A前i个元素的和。我们可以通过高效的方法来实现这一点。
我们可以利用一个累加器变量来高效地计算每个B[i]。具体步骤如下:
这种方法的时间复杂度为O(n),空间复杂度为O(n),因为我们需要一个额外的数组来存储B的值。
public class Solution { public int[] runningSum(int[] nums) { if (nums == null || nums.length == 0) { return nums; } int sum = 0; int n = nums.length; int[] result = new int[n]; for (int i = 0; i < n; i++) { sum += nums[i]; result[i] = sum; } return result; }} 这种方法确保了我们在O(n)时间复杂度内完成任务,同时保持了较低的空间复杂度。
转载地址:http://kujs.baihongyu.com/