LintCode 387: Smallest Difference

题目描述

给定两个整数数组(第一个是数组A,第二个是数组B),在数组A中取A[i],数组B中取B[j]A[i]B[j]两者的差越小越好(|A[i] - B[j]|)。返回最小差。

样例

给定数组A = [3,4,6,7]B = [2,3,8,9],返回 0

Mon Feb 27 2017

思路

先将两个数组排序,然后分别用一个指针i, j,从前往后遍历,若A[i] > B[j],要想差更小,那么需要j++,其它情况同理。

时间复杂度是 \(O(nlogn)\),主要是需要排序。

本题还有其它的方法,遍历A数组,然后用二分查找B数组,也值得一试。

代码

// 最小差
int smallestDifference(vector<int> &A, vector<int> &B)
{sort(A.begin(), A.end());sort(B.begin(), B.end());int i = 0, j = 0, min = INT_MAX;while(i < A.size() && j < B.size()){int diff;if (A[i] > B[j]){diff = A[i] - B[j];++j;}else if (A[i] < B[j]){diff = B[j] - A[i];++i;}else return 0;if (diff < min) min = diff;}return min;
}

转载于:https://www.cnblogs.com/genkun/p/6474604.html

LintCode 387: Smallest Difference相关推荐

  1. POJ 2718 Smallest Difference

    题目 Smallest Difference Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 19791 Accepted: 53 ...

  2. Lintcode: Kth Smallest Number in Sorted Matrix

    Find the kth smallest number in at row and column sorted matrix. Example Given k = 4 and a matrix: [ ...

  3. POJ 2718 Smallest Difference 贪心构造

    不用说,想让两个数的差最小,那这个两个数的位数要最接近. 不妨设a>b; 如果n是奇数 a就是最小的(n/2+1)位数,b就是最大的n/2位数 如果是偶数 枚举每一对相邻的数,大的作为a的第一位 ...

  4. ACM Smallest Difference

    给定一些不同的十进制数字(distinct decimal digits),您可以通过选择这些数字的非空子集(non-empty subset)并以某种顺序编写它们,从而形成一个整数. 剩下的数字可以 ...

  5. poj2718 Smallest Difference

    思路: 暴力乱搞. 实现: 1 #include <iostream> 2 #include <cstdio> 3 #include <sstream> 4 #in ...

  6. (全排列)Smallest Difference (poj2718)

    题目: Description - 题目描述 给定若干位十进制数,你可以通过选择一个非空子集并以某种顺序构建一个数.剩余元素可以用相同规则构建第二个数.除非构造的数恰好为0,否则不能以0打头. 举例来 ...

  7. POJ 2718 Smallest Difference(dfs,剪枝)

    枚举两个排列以及有那些数字,用dfs比较灵活. dfs1是枚举长度短小的那个数字,dfs2会枚举到比较大的数字,然后我们希望低位数字的差尽量大, 后面最优全是0,如果全是0都没有当前ans小的话就剪掉 ...

  8. poj-2718 Smallest Difference

    [题目链接] 思路: STL封装好的全排列函数next_permutation()就是快啊,无奈自己写的全排列各种TLE~ 代码: #include<iostream> #include& ...

  9. POJ 2718 Smallest Difference

    分奇数和偶数两种情况进行讨论,奇数可贪心,偶数没想到贪心的方法,采用直接枚举的方法过的~~~ #include <cmath> #include <cstdio> #inclu ...

最新文章

  1. postgresql GUC 参数
  2. python后端工程师 数据爬虫
  3. 使用c#类库绘制柱状图
  4. Pandas的学习(4.DataFrame之间的运算以及DataFrame和Series之间的运算)
  5. 常用的整数间的数制转换
  6. django媒体文件上传设置
  7. 如何用html5编写彩色同心圆,HTML5 canvas 同心圆动画
  8. AUTOSAR从入门到精通100讲(三)-基于UDS服务的BootLoader架构和刷写流程
  9. 哈哈,这个小游戏很有意思!
  10. leetcode —— 523. 连续的子数组和
  11. Java学习笔记之:Java 继承
  12. C# string转DateTime DateTime转string
  13. SCSI代码分析(2)SCSI设备的管理1
  14. 数据包络分析--CCR模型
  15. 2021肿瘤早筛行业研究报告
  16. 站长紧急:新站要沉得住气
  17. staged changes
  18. 3.6 函数作图与渐近线
  19. cmd的一些有趣命令
  20. 本地python版GEE安装及配置步骤(jupyter lab)

热门文章

  1. python SimpleHTTPServer 快速共享文件
  2. sharesdk短信验证码的集成
  3. HDOJ1166 敌兵布阵【线段树】
  4. Microsoft .NET 框架资源基础 ---摘自:msdn
  5. 开源GIS库GDAL/GEOS在Windows下的编译与 Codeblocks配置
  6. 服务器中有两个R文件夹,一台服务器中配置多个git sshkey
  7. 如何取消 登录_LSAT | 退考、缺考、取消成绩,各自的区别和流程是怎样的?
  8. Wine下完美安装QQ 2010:
  9. Java日志操作总结
  10. 怎么自定义字体_自定义字体@fontface的常见应用