亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何將累加器傳遞給遞歸函數?

如何將累加器傳遞給遞歸函數?

Go
心有法竹 2023-04-17 16:36:28
(我是 Go 的新手。)我正在研究這個 leetcode 問題:https ://leetcode.com/problems/pascals-triangle/package mainimport "fmt"func main() {    arrRes := [][]int{}    gen(5, arrRes)    fmt.Println(arrRes) }func gen(numRows int, arrRes [][]int) {     build(numRows, 0, arrRes)}func build(n int, level int, arrRes [][]int) {    if(n == level) {        return     }    arr := []int{}    if level == 0 {        arr = append(arr, 1)    } else if level == 1 {        arr = append(arr, 1, 1)    } else {        // get it out        tmp := arrRes[level-1]        arr = comb(tmp)    }    arrRes = append(arrRes, arr)    build(n, level+1, arrRes)}func comb(arr []int) []int{    // arr type init    tmpArr := []int{1}    for i:=1;  i<len(arr); i++ {        sum := arr[i-1] + arr[i]        tmpArr = append(tmpArr, sum)        }    // go use val, not ref    tmpArr = append(tmpArr, 1)    return tmpArr;}我想定義一個累加變量arrRes := [][]int{}并繼續傳遞給遞歸函數。我認為 Go 是按值傳遞而不是按引用傳遞。有沒有辦法保持這種模式?我有兩種替代方法:傳遞一個全局變量。將二維數組傳遞給func然后返回新的二維數組。https://github.com/kenpeter/go_tri/blob/master/tri_global.gohttps://github.com/kenpeter/go_tri/blob/master/tri.go
查看完整描述

目前暫無任何回答

  • 0 回答
  • 0 關注
  • 98 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號