golang求连续子数组的最大和实例

 更新时间:2020年12月19日 15:44:17   作者:疯狂的鸭血  
这篇文章主要介绍了golang求连续子数组的最大和实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

问题描述:

给定一个数组 array[1, 4, -5, 9, 8, 3, -6],在这个数字中有多个子数组,子数组和最大的应该是:[9, 8, 3],输出20,再比如数组为[1, -2, 3, 10, -4, 7, 2, -5],和最大的子数组为[3, 10, -4, 7, 2],输出18。

代码如下:

package main
import (
 "fmt"
)
func getMaxSum(arr []int) int {
 var sum, maxSum int
 for i := 0; i < len(arr); i++ {
 sum = 0
 for j := i; j < len(arr); j++ {
  sum += arr[j]
  if sum > maxSum {
  maxSum = sum
  }
 }
 }
 return maxSum
}
func main() {
 var arr []int
 arr = []int{1, -2, 3, 10, -4, 7, 2, -5}
 fmt.Println(getMaxSum(arr))
}

补充:go语言实现 求一个无序数组,最大连续数量

思路:

把每个元素 当作一个中心元素

进行左右延伸

package main
import (
  "fmt"
)
func main() {
  array := []int{5,2,3,2,3,10,1,12,4}
  myMap := make(map[int]int)
  for _,value := range array {
    myMap[value] = 1
  }
  longest := 0
  for _,i := range array{
    length := 1
    for j:=i-1; myMap[j] == 1; j-- {
      delete(myMap, j)
      length++
    }
    for j :=i+1;myMap[j] == 1 ;j++ {
      delete(myMap,j)
      length++
    }
    if(length > longest){
      longest = length
    }
  }
  fmt.Println(longest)
}

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。如有错误或未考虑完全的地方,望不吝赐教。

相关文章

  • Go语言实现读取文件的方式总结

    Go语言实现读取文件的方式总结

    这篇文章主要为大家详细介绍了Go语言实现读取文件的几个方式,文中的示例代码讲解详细,对我们学习Go语言有一定的帮助,感兴趣的小伙伴可以收藏一下
    2023-04-04
  • 浅谈Golang数据竞态

    浅谈Golang数据竞态

    本文主要介绍了浅谈Golang数据竞态,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-02-02
  • golang使用iconv报undefined:XXX的问题处理方案

    golang使用iconv报undefined:XXX的问题处理方案

    这篇文章主要介绍了golang使用iconv报undefined:XXX的问题处理方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-03-03
  • Go 泛型和非泛型代码详解

    Go 泛型和非泛型代码详解

    Go 在 1.17 中支持泛型,但是默认未开启;1.18 中会正式支持泛型,下面文章内容小编将给大家讲解Go 语言中的泛型和非泛型并且附上代码详解,刚兴趣的小伙伴请参考下面文章的具体内容
    2021-10-10
  • Go高级特性之并发处理http详解

    Go高级特性之并发处理http详解

    Golang 作为一种高效的编程语言,提供了多种方法来实现并发发送 HTTP 请求,本文将深入探讨 Golang 中并发发送 HTTP 请求的最佳技术和实践,希望对大家有所帮助
    2024-02-02
  • Golang实现快速求幂的方法详解

    Golang实现快速求幂的方法详解

    这篇文章主要为大家详细介绍了如何利用Golang实现快速求幂,文中的示例代码讲解详细,对我们学习或工作有一定参考价值,需要的可以参考一下
    2022-06-06
  • Golang实现自己的Redis数据库内存实例探究

    Golang实现自己的Redis数据库内存实例探究

    这篇文章主要为大家介绍了Golang实现自己的Redis数据库内存实例探究,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2024-01-01
  • golang中如何保证精度的方法

    golang中如何保证精度的方法

    本文主要介绍了golang中如何保证精度的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-04-04
  • 使用Go语言实现谷歌翻译功能

    使用Go语言实现谷歌翻译功能

    这篇文章主要为大家详细介绍了如何使用Go语言实现谷歌翻译功能,文中的示例代码讲解详细,具有一定的借鉴价值,有需要的小伙伴可以参考下
    2024-02-02
  • Go语言中CGO的使用实践

    Go语言中CGO的使用实践

    本文主要介绍了Go语言中CGO的使用实践,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-09-09

最新评论