佳木斯湛栽影视文化发展公司

主頁 > 知識庫 > golang求連續(xù)子數(shù)組的最大和實例

golang求連續(xù)子數(shù)組的最大和實例

熱門標簽:網站排名優(yōu)化 服務外包 百度競價排名 地方門戶網站 AI電銷 鐵路電話系統(tǒng) Linux服務器 呼叫中心市場需求

問題描述:

給定一個數(shù)組 array[1, 4, -5, 9, 8, 3, -6],在這個數(shù)字中有多個子數(shù)組,子數(shù)組和最大的應該是:[9, 8, 3],輸出20,再比如數(shù)組為[1, -2, 3, 10, -4, 7, 2, -5],和最大的子數(shù)組為[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語言實現(xiàn) 求一個無序數(shù)組,最大連續(xù)數(shù)量

思路:

把每個元素 當作一個中心元素

進行左右延伸

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)
}

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。

您可能感興趣的文章:
  • golang json數(shù)組拼接的實例
  • Golang 如何判斷數(shù)組某個元素是否存在(isset)
  • golang移除數(shù)組中重復的元素操作
  • golang將切片或數(shù)組根據(jù)某個字段進行分組操作
  • golang數(shù)組-----尋找數(shù)組中缺失的整數(shù)方法
  • golang實現(xiàn)整型和字節(jié)數(shù)組之間的轉換操作
  • Golang 如何判斷數(shù)組某個元素是否存在 (isset)

標簽:銅川 崇左 湖南 仙桃 湘潭 衡水 黃山 蘭州

巨人網絡通訊聲明:本文標題《golang求連續(xù)子數(shù)組的最大和實例》,本文關鍵詞  ;如發(fā)現(xiàn)本文內容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內容系統(tǒng)采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    萨迦县| 安龙县| 高密市| 仪陇县| 永州市| 新安县| 涿鹿县| 峨山| 蒙阴县| 庄河市| 宜宾市| 林口县| 中江县| 古交市| 微山县| 和静县| 蚌埠市| 丹棱县| 禹城市| 遂平县| 民丰县| 南和县| 阿克| 阜平县| 金昌市| 高唐县| 牡丹江市| 响水县| 洮南市| 长治县| 广安市| 自贡市| 谷城县| 梨树县| 白沙| 油尖旺区| 印江| 昌乐县| 临清市| 来安县| 建湖县|