码迷,mamicode.com
首页 > 其他好文 > 详细

最大子序和

时间:2020-02-23 09:20:56      阅读:61      评论:0      收藏:0      [点我收藏+]

标签:array   class   元素   bsp   UNC   import   pen   turn   最大和   

package main

import "fmt"

func maxSubArray(nums []int) []int {
	arr := make([]int, 1, 10)
	for h := 0; h < len(nums); h++ {
		sum := 0
		for i := h; i < len(nums); i++ {
			sum += nums[i]
			fmt.Println("sum value", sum)
			arr = append(arr, sum)

		}
	}
	return arr

}

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

		示例:

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

	arr := []int{-2, 1, -3, 4, -1, 2, 1, -5, 4}

	res := maxSubArray(arr)
	fmt.Println("最大值为:", res)
	for i := 0; i < len(res)-1; i++ {
		if res[i] > res[i+1] {
			res[i], res[i+1] = res[i+1], res[i]
		}
	}
	fmt.Println("最终结果:", res)
	fmt.Println(res[len(res)-1]) //6

}

  

最大子序和

标签:array   class   元素   bsp   UNC   import   pen   turn   最大和   

原文地址:https://www.cnblogs.com/yzg-14/p/12348310.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!