1480

时间:2021-03-05 13:05:12   收藏:0   阅读:0

一维数组的动态和

自己的解法

public static int[] runningSum(int[] nums) {
  int[] resArr = new int[nums.length];
  int temp = 0;
  for (int i = 0; i < nums.length; i++) {
    int num = nums[i];
    temp += num; // 其实就是所有数值相加的过程
    resArr[i] = temp;
   }
  return resArr;
}

更加优质的解法

public static int[] runningSum(int[] nums) {
  int len = nums.length;// 直接取出来减少获取次数
  for(int i = 1; i < len; i++){ // 第一个值不变,所以直接从第二个开始
    nums[i] = nums[i-1] + nums[i]; // 用上一个值(i-1)加上当前下标所在的值
  }
  return nums;
}
评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!