[lintcode the-smallest-difference]最小差(python)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[lintcode the-smallest-difference]最小差(python)相关的知识,希望对你有一定的参考价值。

题目链接:http://www.lintcode.com/zh-cn/problem/the-smallest-difference/

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

排好序后用两个指针分别扫描两个数组,每次更新他们的差值的绝对值。并且依据他们两个数字的大小来决定谁来移动指针。

 1 class Solution:
 2     # @param A, B: Two lists of integer
 3     # @return: An integer
 4     def smallestDifference(self, A, B):
 5         # write your code here
 6         A.sort()
 7         B.sort()
 8         i = 0
 9         j = 0
10         ret = 2147483647
11         while i < len(A) and j < len(B):
12             ret = min(ret, abs(A[i]-B[j]))
13             if A[i] > B[j]:
14                 j += 1
15             elif A[i] < B[j]:
16                 i += 1
17             elif A[i] == B[j]:
18                 ret = 0
19                 break
20         return ret

 

以上是关于[lintcode the-smallest-difference]最小差(python)的主要内容,如果未能解决你的问题,请参考以下文章

LintCode Longest Common Subsequence

lintcode: 旋转图像

Lintcode: Segment Tree Build

Lintcode: Segment Tree Modify

LintCode : Jump Game II

lintcode-medium-Rehashing