Merge pull request #1208 from xiaofei-2020/greed04

添加(0053.最大子序和.md):增加typescript版本
This commit is contained in:
程序员Carl
2022-04-26 10:46:21 +08:00
committed by GitHub

View File

@ -211,7 +211,7 @@ func maxSubArray(nums []int) int {
return maxSum return maxSum
} }
``` ```
### Javascript: ### Javascript:
```Javascript ```Javascript
var maxSubArray = function(nums) { var maxSubArray = function(nums) {
@ -230,6 +230,41 @@ var maxSubArray = function(nums) {
}; };
``` ```
### TypeScript
**贪心**
```typescript
function maxSubArray(nums: number[]): number {
let curSum: number = 0;
let resMax: number = -Infinity;
for (let i = 0, length = nums.length; i < length; i++) {
curSum += nums[i];
resMax = Math.max(curSum, resMax);
if (curSum < 0) curSum = 0;
}
return resMax;
};
```
**动态规划**
```typescript
// 动态规划
function maxSubArray(nums: number[]): number {
const length = nums.length;
if (length === 0) return 0;
const dp: number[] = [];
dp[0] = nums[0];
let resMax: number = nums[0];
for (let i = 1; i < length; i++) {
dp[i] = Math.max(dp[i - 1] + nums[i], nums[i]);
resMax = Math.max(resMax, dp[i]);
}
return resMax;
};
```
----------------------- -----------------------