首页 > 其他 > 详细

乘积最大子序列

时间:2020-02-23 10:58:16      阅读:48      评论:0      收藏:0      [点我收藏+]
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
}

  

乘积最大子序列

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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!