454.4sum-ii.go 308 B

1234567891011121314151617
  1. func fourSumCount(A []int, B []int, C []int, D []int) (cnt int) {
  2. n := len(A)
  3. m := make(map[int]int)
  4. for i := 0; i < n; i++ {
  5. for j := 0; j < n; j++ {
  6. m[C[i]+D[j]]++
  7. }
  8. }
  9. for i := 0; i < n; i++ {
  10. for j := 0; j < n; j++ {
  11. if val, ok := m[-A[i]-B[j]]; ok {
  12. cnt += val
  13. }
  14. }
  15. }
  16. return
  17. }