• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

[算法Rust,Go,Python,JS实现)]LeetCode之53-最大子序和

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

题目

给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。

示例:

输入: [-2,1,-3,4,-1,2,1,-5,4],
输出: 6
解释: 连续子数组 [4,-1,2,1] 的和最大,为 6

思路

1.定义两个变量sum(递推和),max_sum(保存连续值的最大值)
2.如果sum<0 则sum等于重置为当前的元素 否则元素累加和
3.如果sum>max_sum 则max_sum = sum

Rust实现

impl Solution {
    pub fn max_sub_array(nums: Vec<i32>) -> i32 {
        let mut sum = 0;
        let mut max_sum = nums[0];
        for num in nums {
            if sum < 0 {
                sum = num
            } else {
                sum += num
            }
            if sum > max_sum{
                max_sum = sum
            }
        }
        return max_sum
    }
}

GO实现

func maxSubArray(nums []int) int {
	sum := 0
	max_sum := nums[0]
	for i:=0;i < len(nums); i++ {
		if sum < 0{
			sum = nums[i]
		} else {
			sum += nums[i]
		}
		if sum > max_sum{
			max_sum = sum
		}
	}
	return max_sum
}

Python实现

class Solution:
    def maxSubArray(self, nums: List[int]) -> int:
        sum = 0
        max_sum = nums[0]
        for i in range(0,len(nums)):
            if sum < 0:
                sum = nums[i]
            else:
                sum += nums[i]
                
            if sum > max_sum:
                max_sum = sum
        return  max_sum

JavaScript实现

/**
 * @param {number[]} nums
 * @return {number}
 */
var maxSubArray = function(nums) {
    let sum = 0
    let max_sum = nums[0]
    for (let i = 0;i < nums.length;i++) {
        if (sum < 0) {
            sum = nums[i]
        } else {
            sum += nums[i]
        }
        if (sum > max_sum) {
            max_sum = sum
        }
    } 
    return max_sum
};

结果

源码下载地址:

源码下载地址


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Matlab中save与load函数的使用发布时间:2022-07-18
下一篇:
Matlab命令系列之Save与Load - 文平发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap