解题思路:用双指针遍历两个数组,来找最小距离,如果此时左指针指向的元素小于有指针指向的元素,则让左指针加1,否则让右指针加1,如果两者指向的元素一样,则已经到了最小距离,跳出循环。
注意事项:
参考代码:
import math m,n=map(int,input().split()) m=list(map(int,input().split())) n=list(map(int,input().split())) m_p,n_p=0,0 gap=1000 while m_p<len(m) and n_p<len(n): gap=min(math.fabs(m[m_p]-n[n_p]),gap) if m[m_p]<n[n_p]: m_p=m_p+1 elif m[m_p]>n[n_p]: n_p=n_p+1 else: break print(int(gap))
0.0分
0 人评分
A+B for Input-Output Practice (VII) (C++代码)浏览:643 |
C语言程序设计教程(第三版)课后习题6.1 (C语言代码)浏览:702 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:400 |
众数问题 (C语言代码)浏览:911 |
wu-理财计划 (C++代码)浏览:907 |
【求[X,Y]内被除3余1并且被除5余3的整数的和】 (C语言代码)浏览:703 |
简单的a+b (C语言代码)浏览:626 |
打印十字图 (C语言代码)浏览:2822 |
Hello, world! (C语言代码)浏览:916 |
时间转换 (C语言代码)浏览:698 |