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
相关推荐
一起养小猫1 分钟前
Flutter for OpenHarmony 进阶:表达式解析算法与计算器核心实现
算法·flutter·harmonyos
池央7 分钟前
贪心-最长递增子序列
算法·贪心算法
We་ct11 分钟前
LeetCode 383. 赎金信:解题思路+代码解析+优化实战
前端·算法·leetcode·typescript
BYSJMG11 分钟前
Python毕业设计选题推荐:基于大数据的美食数据分析与可视化系统实战
大数据·vue.js·后端·python·数据分析·课程设计·美食
草原上唱山歌15 分钟前
C++如何调用Python代码
开发语言·c++·python
小鸡吃米…17 分钟前
机器学习 - 贝叶斯定理
人工智能·python·机器学习
紫竹苑主18 分钟前
VS Cose + PlatformIO +ESP32-S3 + ESPIDF开发环境安装卡壳持续等待问题解决
vscode·python·嵌入式硬件·物联网·硬件架构
Java后端的Ai之路19 分钟前
【Python教程11】-文件
开发语言·python
不懒不懒22 分钟前
【逻辑回归从原理到实战:正则化、参数调优与过拟合处理】
人工智能·算法·机器学习