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

乘积最大子序列

时间:2020-02-23 09:38:30      阅读:52      评论:0      收藏:0      [点我收藏+]

标签:给定一个整数数组   最大的   package   i++   print   解释   数组   ++   UNC   

package main

import "fmt"

func maxProduct(nums []int) int {
	arr := []int{}
	for b := 0; b < len(nums); b++ {
		sum := 1
		for i := b; i < len(nums); i++ {
			sum *= nums[i]
			//fmt.Println(sum)
			arr = append(arr, sum)
			fmt.Println("arr value:", arr)
		}
	}

	for i := 0; i < len(arr)-1; i++ {
		if arr[i] > arr[i+1] {
			arr[i], arr[i+1] = arr[i+1], arr[i]
		}
	}
	return arr[len(arr)-1]
}

func main() {

	/*
	给定一个整数数组 nums ,找出一个序列中乘积最大的连续子序列(该序列至少包含一个数)。

	示例 1:

	输入: [2,3,-2,4]
	输出: 6
	解释: 子数组 [2,3] 有最大乘积 6。
	*/
	nums := []int{2, 3, -2, 4}
	res := maxProduct(nums)
	fmt.Println(res) //6
}

  

乘积最大子序列

标签:给定一个整数数组   最大的   package   i++   print   解释   数组   ++   UNC   

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

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