博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
两数组最短距离-------2012年12月26日
阅读量:5881 次
发布时间:2019-06-19

本文共 964 字,大约阅读时间需要 3 分钟。

 刚才那题太简单,不过瘾,再做一道题。
       问题描述:已知两个元素从小到大排列的数组x[]与y[],请编写一个程序算出两个数组元素彼此之间差的绝对值中最小的一个数,此值称作数组的距离。
       我的思路:关键点依然是"两个数组都从小到大排序"。那么,当x[i]==y[j]时,数组间距离为0,这肯定是最小的;当x[i]-y[j]>0时,如果i再增大,那么x[i]也会增大,那么x[i]-y[j]也会增大,而这样的增大不是我们的目标,所以此时要将j加1;同理,如果x[i]-y[j]<0,如果j再增大,那么x[i]-y[j]的绝对值也会增大。代码如下:
1 #include 
2 #include
3 4 int main() 5 { 6 int x[]={
1,2,5,7,9}; 7 int y[]={
2,6,8}; 8 int len_x=sizeof(x)/sizeof(int); 9 int len_y=sizeof(y)/sizeof(int);10 int i,j;11 int min=abs(x[0]-y[0]);12 for(i=0,j=0;i
temp)23 min=temp;24 i++;25 }26 else if(x[i]-y[j]>0)27 {28 int temp=x[i]-y[j];29 if(min>temp) 30 min=temp;31 j++;32 }33 }34 printf("min:%d\n",min);35 return 0;36 }
          
如果你觉得我的文章对你有帮助,请赞一下,非常感谢!
本文转自NeilHappy 51CTO博客,原文链接:http://blog.51cto.com/neilhappy/1101336,如需转载请自行联系原作者
你可能感兴趣的文章
彻底卸载删除微软Win10易升方法
查看>>
SWT/JFACE之环境配置(一)
查看>>
应用程序日志中总是说MS DTC无法正确处理DC 升级/降级事件,是什么意思
查看>>
关于django一个请求的生命周期
查看>>
Supervisor-容器中启动多个程序
查看>>
CSS颜色代码大全
查看>>
mybatis数据处理的几种方式
查看>>
QStandardItem and QStandardItemModel Class Reference
查看>>
我的友情链接
查看>>
使用Nginx搭建WEB服务器
查看>>
【oracle唯一主键SYS_GUID()】
查看>>
作业2
查看>>
raid技术-研究感受
查看>>
远程主机探测技术FAQ集 - 扫描篇
查看>>
C++中调用python函数
查看>>
Nomad添加acl认证
查看>>
“TI门外汉”网路知识笔记一 OSI参考模型
查看>>
你不需要jQuery(五)
查看>>
DatanodeDescriptor说明
查看>>
ServlertContext
查看>>