給你一組資料,代表柱子的高度,兩隻兔子的起點相同但是起點的位置是任意的,求兩隻兔子的最大距離,最大距離計算方法是k-j+1(k,j為下標),兔子只能跳比它所在柱子高的柱子或者高度相同的柱子。兩個兔子至少乙個要跳。
上圖為三種情況,起點為假設,但是都保證為最大距離
struct num
a[200001];
int solution(vector&blocks)
else
}int maxl = 1;//最長距離
int st = 0;//行走的距離
int state = 0;//0表示正在上公升,1表示正在下降
for(int i=1; i<=s; i++)
else //正在下降
}else
}maxl = max(maxl,st);
return maxl;
}
模擬試題 最遠距離點對
給定平面上的n個點,找出它們之間最遠的點對。多組資料,每組第一行n代表點數,接著n行為點的座標,座標為整數,不超過10 18範圍。n 30000。每組一行,最遠點對的距離,保留2位小數 0 01 1 0 11 0 1.41 找出凸包,旋轉卡殼。注意方向。include include include...
樹上最遠距離練習
從二叉樹的節點a出發,可以向上或者向下走,但沿途的節點只能經過一次,當到達節點b時,路徑上的節點數叫作a到b的距離。對於給定的一棵二叉樹,求整棵樹上節點間的最大距離。給定乙個二叉樹的頭結點root,請返回最大距離。保證點數大於等於2小於等於500.對於給定的節點root,最遠距離只可能來自以下三種情...
最遠距離(C 實現)
給定一組點 x,y 求距離最遠的兩個點之間的距離。輸入 第一行是點數n n大於等於2 接著每一行代表乙個點,由兩個浮點數x,y組成。輸出 輸出一行是最遠兩點之間的距離。樣例輸出 6 34.0 23.0 28.1 21.6 14.7 17.1 17.0 27.2 34.7 67.1 29.3 65.1...