LintCode 387: Smallest Difference
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相关推荐
- POJ 2718 Smallest Difference
题目 Smallest Difference Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 19791 Accepted: 53 ...
- 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: [ ...
- POJ 2718 Smallest Difference 贪心构造
不用说,想让两个数的差最小,那这个两个数的位数要最接近. 不妨设a>b; 如果n是奇数 a就是最小的(n/2+1)位数,b就是最大的n/2位数 如果是偶数 枚举每一对相邻的数,大的作为a的第一位 ...
- ACM Smallest Difference
给定一些不同的十进制数字(distinct decimal digits),您可以通过选择这些数字的非空子集(non-empty subset)并以某种顺序编写它们,从而形成一个整数. 剩下的数字可以 ...
- poj2718 Smallest Difference
思路: 暴力乱搞. 实现: 1 #include <iostream> 2 #include <cstdio> 3 #include <sstream> 4 #in ...
- (全排列)Smallest Difference (poj2718)
题目: Description - 题目描述 给定若干位十进制数,你可以通过选择一个非空子集并以某种顺序构建一个数.剩余元素可以用相同规则构建第二个数.除非构造的数恰好为0,否则不能以0打头. 举例来 ...
- POJ 2718 Smallest Difference(dfs,剪枝)
枚举两个排列以及有那些数字,用dfs比较灵活. dfs1是枚举长度短小的那个数字,dfs2会枚举到比较大的数字,然后我们希望低位数字的差尽量大, 后面最优全是0,如果全是0都没有当前ans小的话就剪掉 ...
- poj-2718 Smallest Difference
[题目链接] 思路: STL封装好的全排列函数next_permutation()就是快啊,无奈自己写的全排列各种TLE~ 代码: #include<iostream> #include& ...
- POJ 2718 Smallest Difference
分奇数和偶数两种情况进行讨论,奇数可贪心,偶数没想到贪心的方法,采用直接枚举的方法过的~~~ #include <cmath> #include <cstdio> #inclu ...
最新文章
- postgresql GUC 参数
- python后端工程师 数据爬虫
- 使用c#类库绘制柱状图
- Pandas的学习(4.DataFrame之间的运算以及DataFrame和Series之间的运算)
- 常用的整数间的数制转换
- django媒体文件上传设置
- 如何用html5编写彩色同心圆,HTML5 canvas 同心圆动画
- AUTOSAR从入门到精通100讲(三)-基于UDS服务的BootLoader架构和刷写流程
- 哈哈,这个小游戏很有意思!
- leetcode —— 523. 连续的子数组和
- Java学习笔记之:Java 继承
- C# string转DateTime DateTime转string
- SCSI代码分析(2)SCSI设备的管理1
- 数据包络分析--CCR模型
- 2021肿瘤早筛行业研究报告
- 站长紧急:新站要沉得住气
- staged changes
- 3.6 函数作图与渐近线
- cmd的一些有趣命令
- 本地python版GEE安装及配置步骤(jupyter lab)
热门文章
- python SimpleHTTPServer 快速共享文件
- sharesdk短信验证码的集成
- HDOJ1166 敌兵布阵【线段树】
- Microsoft .NET 框架资源基础 ---摘自:msdn
- 开源GIS库GDAL/GEOS在Windows下的编译与 Codeblocks配置
- 服务器中有两个R文件夹,一台服务器中配置多个git sshkey
- 如何取消 登录_LSAT | 退考、缺考、取消成绩,各自的区别和流程是怎样的?
- Wine下完美安装QQ 2010:
- Java日志操作总结
- 怎么自定义字体_自定义字体@fontface的常见应用