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
相关推荐
猎嘤一号15 分钟前
博弈论(Game Theory)的理论、算法与工程
人工智能·算法·安全·博弈论
马拉AI31 分钟前
腾讯开源 Agent 记忆系统,AI“换对话就忘”的问题有了新解法(附安装使用教程)
人工智能·算法·开源·科研
地平线开发者2 小时前
征程6工具链模型X86推理方式说明
算法
地平线开发者2 小时前
【征程6】校准量化中HistogramObserver解析
算法
_oP_i3 小时前
python 后缀 mjs文件
开发语言·python
北斗落凡尘3 小时前
如何使用LangGraph(1)
python·langchain
OuO-23 小时前
笔试强训 Day 34:ISBN 号码、kotori 和迷宫、矩阵最长递增路径
java·算法·矩阵
程序喵大人4 小时前
【C++进阶】STL算法与函数对象 - 04 find、count和any_of把查询写成意图
开发语言·c++·算法
豆沙沙包?4 小时前
c++中引用(P7-P11)
java·c++·算法
Livia要学习4 小时前
Python装饰器
开发语言·python