剛才那題太簡單,不過癮,再做一道題。
問題描述:已知兩個元素從小到大排列的陣列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 34int
main()5;
7int y=;
8int len_x=sizeof(x)/sizeof(int);9
int len_y=sizeof(y)/sizeof(int
);10
inti,j;
11int min=abs(x[0]-y[0
]);12
for(i=0,j=0;ilen_y;)
1319
else
if(x[i]-y[j]<0
) 20
26else
if(x[i]-y[j]>0)27
33}34 printf("
min:%d\n
",min);
35return0;
36 }
1208 兩陣列最短距離
兩陣列最短距離 time limit 1000ms memory limit 65536k total submit 62 accepted 50 description 已知元素未排序的兩個陣列x和y,請寫出乙個程式算出兩個陣列彼此之間差的絕對值中最大的乙個,這叫做陣列的距離。input 第一行為...
求球面兩點最短距離
problem 給定球的半徑,兩點的經緯度,求這兩點間的最短距離。solution 球面兩點間距離公式 r acos cos wa cos wb cos jb ja sin wa sin wb r代表半徑,wa是a點的緯度,wb是b點的緯度,ja是a點的經度,jb是b點的經度,去北緯為正,東經為正。...
C 兩點之間最短距離
兩點之間最短距離 這是我的乙個測試,也是我學習html的 起點,他們說乙個合格的程式設計師必須學會html,我比他們起步晚了一些,可是我認為還來的及,以後我就用html來記錄我的學習記錄了。問題的提出 在二維平面的n個點上,找出其中的一對點,使得在n個點組成的所有的點中,該點對的距離最小。方法一 暴...