# 给你四个整数数组nums1、nums2、nums3和nums4 ,数组长度都是n ,请你计算有多少个元组(i, j, k, l)能满足: # 0 <= i, j, k, l < n # nums1[i] + nums2[j] + nums3[k] + nums4[l] == 0 # # 示例1: # 输入:nums1 = [1, 2], nums2 = [-2, -1], nums3 = [-1, 2], nums4 = [0, 2] # 输出:2 # 解释: # 两个元组如下: # 1.(0, 0, 0, 1) -> nums1[0] + nums2[0] + nums3[0] + nums4[1] = 1 + (-2) + (-1) + 2 = 0 # 2.(1, 1, 0, 0) -> nums1[1] + nums2[1] + nums3[0] + nums4[0] = 2 + (-1) + (-1) + 0 = 0 # # # 示例2: # 输入:nums1 = [0], nums2 = [0], nums3 = [0], nums4 = [0] # 输出:1 nums1 = [1, 2] nums2 = [-2, -1] nums3 = [-1, 2] nums4 = [0, 2] # nums1 = [0] # nums2 = [0] # nums3 = [0] # nums4 = [0] def get_num(nums1, nums2, nums3, nums4): dict_1 = {} for i in range(len(nums1)): for j in range(len(nums2)): tem_sum = nums1[i] + nums2[j] if tem_sum not in dict_1.keys(): dict_1.update({tem_sum: 1}) else: dict_1[tem_sum] += 1 res = 0 print(dict_1) for m in range(len(nums3)): for n in range(len(nums4)): tem_sum2 = 0-(nums3[m] + nums4[n]) if tem_sum2 in dict_1.keys(): res += dict_1[tem_sum2] return res print(get_num(nums1, nums2, nums3, nums4))
4.四数相加II
最新推荐文章于 2024-07-24 23:49:50 发布