LeetCode.3131.找出与数相加的整数I

题目描述:

给你两个长度相等的数组 nums1nums2

数组 nums1 中的每个元素都与变量 x 所表示的整数相加。如果 x 为负数,则表现为元素值的减少。

在与 x 相加后,nums1nums2 相等 。当两个数组中包含相同的整数,并且这些整数出现的频次相同时,两个数组 相等

返回整数 x

输入输出实例:

以下给出两种思路:

思路一:不难发现,如果整数x是一定存在的,那么nums1数组的所有元素+x得到的是nums2数组的所有元素,也就是说nums1的所有元素之和+n*nums1(或者是nums2)的长度 = nums2的所有元素之和。根据上述等式我们把x表示出来直接返回就好:

python 复制代码
class Solution:
    def addedInteger(self, nums1: List[int], nums2: List[int]) -> int:
        #如果整数x一定存在,那么就是num1加起来的所有和+x*num1长度 = nums2加起来所有和
        return (sum(nums2)-sum(nums1)) // len(nums1)

思路二:既然两个列表对应元素差值是一定的,我们可以对两个列表进行排序,然后x就是他们对应元素的差了,我们可以取第一个之间做差得到x【根据这种思路我们也可以衍生出:直接用min或者max找到两个列表的最小或者最大值相减即是x】:

python 复制代码
class Solution:
    def addedInteger(self, nums1: List[int], nums2: List[int]) -> int:
        nums1.sort()
        nums2.sort()
        x = nums2[0] - nums1[0]
        return x
相关推荐
nervermore9904 分钟前
3.3 Python图形编程
python
zhengfei6115 分钟前
世界各地免费电视频道的 M3U 播放列表。
python
yyy(十一月限定版)5 分钟前
matlab矩阵的操作
算法·matlab·矩阵
努力学算法的蒟蒻22 分钟前
day58(1.9)——leetcode面试经典150
算法·leetcode·面试
心静财富之门35 分钟前
退出 for 循环,break和continue 语句
开发语言·python
txinyu的博客37 分钟前
map和unordered_map的性能对比
开发语言·数据结构·c++·算法·哈希算法·散列表
WJSKad123542 分钟前
YOLO11-FDPN-DASI实现羽毛球拍与球的实时检测与识别研究
python
幻云20101 小时前
Next.js之道:从入门到精通
人工智能·python
搞笑症患者1 小时前
压缩感知(Compressed Sensing, CS)
算法·最小二乘法·压缩感知·正交匹配追踪omp·迭代阈值it算法
0和1的舞者1 小时前
GUI自动化测试详解(三):测试框架pytest完全指南
自动化测试·python·测试开发·自动化·pytest·测试