当前位置: 首页 > news >正文

饰品设计网站推荐网页版html编辑器

饰品设计网站推荐,网页版html编辑器,网站首次打开速度慢wordpress,企业网站建设因素分析【LetMeFly】3132.找出与数组相加的整数 II:排序3次尝试(nlog n) 力扣题目链接:https://leetcode.cn/problems/find-the-integer-added-to-array-ii/ 给你两个整数数组 nums1 和 nums2。 从 nums1 中移除两个元素,并且所有其他元素都与变量…

【LetMeFly】3132.找出与数组相加的整数 II:排序+3次尝试(nlog n)

力扣题目链接:https://leetcode.cn/problems/find-the-integer-added-to-array-ii/

给你两个整数数组 nums1nums2

nums1 中移除两个元素,并且所有其他元素都与变量 x 所表示的整数相加。如果 x 为负数,则表现为元素值的减少。

执行上述操作后,nums1nums2 相等 。当两个数组中包含相同的整数,并且这些整数出现的频次相同时,两个数组 相等

返回能够实现数组相等的 最小 整数 x

 

示例 1:

输入:nums1 = [4,20,16,12,8], nums2 = [14,18,10]

输出:-2

解释:

移除 nums1 中下标为 [0,4] 的两个元素,并且每个元素与 -2 相加后,nums1 变为 [18,14,10] ,与 nums2 相等。

示例 2:

输入:nums1 = [3,5,5,3], nums2 = [7,7]

输出:2

解释:

移除 nums1 中下标为 [0,3] 的两个元素,并且每个元素与 2 相加后,nums1 变为 [7,7] ,与 nums2 相等。

 

提示:

  • 3 <= nums1.length <= 200
  • nums2.length == nums1.length - 2
  • 0 <= nums1[i], nums2[i] <= 1000
  • 测试用例以这样的方式生成:存在一个整数 xnums1 中的每个元素都与 x 相加后,再移除两个元素,nums1 可以与 nums2 相等。

解题方法:排序+3次尝试

分别对两个数组排序。因为一定有解,所以nums1中前3个元素至少有一个和nums2[0]对应。也就是说,可能的x最多有3种情况。对于每种情况,我们从大到小尝试,如果当前x可行,则返回。

怎么判定nums1删除两个元素后是否每个元素加上x后都和nums2对应呢?只需要两个指针分别指向两个数组中的元素。

在指针没有超出数组有效范围时:

  • n u m s 1 [ n 1 ] + x = = n u m s 2 [ n 2 ] nums1[n1] + x == nums2[n2] nums1[n1]+x==nums2[n2],则两个指针分别后移
  • 否则跳过nums1中的这个数:n1后移n2不动,“跳过次数”加一。(若跳过次数大于2则说明这个x不可行)

最终如果n2指到nums2的末尾,则说明这个x可行。

  • 时间复杂度 O ( n log ⁡ n ) O(n\log n) O(nlogn)
  • 空间复杂度 O ( log ⁡ n ) O(\log n) O(logn)

AC代码

C++
class Solution {
private:bool isOk(vector<int>& nums1, vector<int>& nums2, int x) {int skip = 0;int n1 = 0, n2 = 0;while (n1 < nums1.size() && n2 < nums2.size()) {if (nums1[n1] + x == nums2[n2]) {n1++, n2++;}else {n1++, skip++;if (skip > 2) {return false;}}}return n2 == nums2.size();}
public:int minimumAddedInteger(vector<int>& nums1, vector<int>& nums2) {sort(nums1.begin(), nums1.end());sort(nums2.begin(), nums2.end());for (int i = 2; i >= 0; i--) {if (isOk(nums1, nums2, nums2[0] - nums1[i])) {return nums2[0] - nums1[i];}}return -1;  // Fake Return}
};

同步发文于CSDN和我的个人博客,原创不易,转载经作者同意后请附上原文链接哦~

Tisfy:https://letmefly.blog.csdn.net/article/details/141072842

http://www.yayakq.cn/news/815784/

相关文章:

  • 重庆市建设工程信息网官方网站软件公司薪酬绩效方案
  • 做包装盒效果图的网站网站仿制公司
  • 网站建设费进项税金可以抵扣吗上海自贸区注册公司优惠政策
  • 企业网站备案 网站服务内容域名网站查询
  • 公司设计网站建设百度广告联盟网站
  • 手机网站开发协议网站设计服务要不要交文化事业建设费
  • 做招商加盟做得比较好的网站付费推广平台有哪些
  • 石家庄网站推广专业天河区门户网站招生考试
  • 企业对比网站网站域名dns
  • 无锡网站制作工具如何做seo网站
  • 做网站在哪里做比较好营销网站建设都是专业技术人员
  • 不断推进门户网站建设行政机关网站建设
  • 公司自己的网站叫什么组建网站需多少钱
  • 电商网站建设概念centos7.4 wordpress
  • 做海购的网站宜兴市城乡建设局网站
  • 做一个论坛网站多少钱手机网站注册页面
  • 本人想求做网站建设工程合同范本
  • 做盗版网站清远城乡住房建设部网站
  • 百度可以做网站吗重庆网站制作企业
  • 英文阿里巴巴网站建设wordpress标题优化
  • 网站免费注册会员怎么做无锡网站建设365caiyi
  • 台州网站建设公司哪家好上传网站根目录
  • 外国网站设计素材江苏省建设工程注册中心网站
  • 学校网站欣赏中文物联网设计
  • 网站建设多少钱一个月网站推广的名词解释
  • 有哪些做兼职的设计网站有哪些工作wordpress flashfxp
  • 做网站的几个软件寺院网站模板
  • 静态网站建设的PPT网建教程
  • 资阳市网站seo找人做网页需要多少钱
  • 一级a做爰片免费网站黄copyright技术支持 东莞网站建设