go四數相加等於指定數演算法

2021-10-10 22:09:24 字數 935 閱讀 5193

給定四個包含整數的陣列列表 a , b , c , d ,計算有多少個元組 (i, j, k, l) ,使得 a[i] + b[j] + c[k] + d[l] = 0。

func

foursumcount

(a [

]int

, b [

]int

, c [

]int

, d [

]int

)int

for_

,v:=

range a

}}

再次遍歷另兩個陣列,將兩個陣列的元素進行相加,取和的相反數,通過使用相反數在map中查詢,如果沒出現,所指向的數是0,如果出現過這個數的相反數,則所指向的數大於一。

func

foursumcount

(a [

]int

, b [

]int

, c [

]int

, d [

]int

)int

ans:=

0for

_,v:=

range c

}}

最後將總數返回

全部**

func

foursumcount

(a [

]int

, b [

]int

, c [

]int

, d [

]int

)int

ans:=

0for

_,v :=

range a

}for

_,v :=

range c

}return ans//返回總數

}

隨機數相加等於固定值 批處理 隨機數相加等於固定值

為了測試等等,刪除了一部分東西,可以自己改回來 不限次數主迴圈是 be 每運算出一套 可用數值 後會暫停,並計數。echo off setlocal enabledelayedexpansion set p sj 請輸入隨機數 舉例 30 10 5 100 call ge sj set a mod ...

幾個連續的自然數相加等於某個值

今天在上班的路上,突然想起以前看到的乙個題目,題目就是隨便輸入乙個數,讓你找出幾個連續的正整數相加等於它。原題我忘記了,大概就是這個意思 網上有這個的演算法,以前仔細看了一遍,但是現在突然又忘記了 記性差 好了,廢話不說了,直入正題吧。既然是連續的幾個自然數,那麼,這幾個自然數肯定是有關係,比如,設...

找出陣列中兩個元素相加等於10的組合

1,o n 2 雙重迴圈 def get pair input list 簡單雙重迴圈,結果會有很多重複值。for v1 in input list for v2 in input list if v1 v2 10 print v1,v2 l 2,3,5,1,8,9,5,7,4,6,9 get pa...