技术提高是一个循序渐进的过程,所以我讲的leetcode算法题从最简单的level开始写的,然后到中级难度,最后到hard难度全部完。目前我选择C语言,Python和Java作为实现语言,因为这三种语言还是比较典型的。由于篇幅和精力有限,其他语言的实现有兴趣的朋友请自己尝试。
如果有任何问题可以在文章后评论或者私信给我。
如果有朋友希望我讲些其他话题,请在评论区留言或者私信给我。
持续分享,敬请关注。
LeetCode 1480. 一维数组的运行总和(Running Sum of 1d Array)
问题描述:
给定一个数组nums。我们将数组的运行总和定义为 runningSum[i] = sum(nums[0]…nums[i])。
返回的运行总和nums。
注:
· 1 <= nums.length <= 1000;
· -10^6 <= nums[i] <= 10^6;
示例:
C语言实现:
题目的要求返回的数组必须要分配,也就是不能修改返回原数组。
这个题目很简单,方法也很多。比较简单的方法就是,首先将原数组的第一个元素赋值给要返回数组,作为第一个元素;然后从第二个元素开始,其元素的值不断的累加上一个元素的值。
很简单。
代码如下:
java语言实现:
我不建议直接修改原对象的,但是实践中往往有这个要求,对于这个问题,如果直接修改实际上更简单一些。
省去了为第一个元素赋值的步骤。
代码如下:
python语言实现:
Python 的实现和C语言的实现基本一致。
代码如下: