题目大意
@skirmish 现在正在进行车辆测试,给定采样点的高度 h1,h2…hnh_1,h_2\dots h_nh1 ,h2 …hn ,定义从点 i (1≤i<n)i\ (1\le i<n)i (1≤i<n) 到点 i+1i+1i+1 的颠簸量 did_idi 为 ∣hi+1−hi∣|h_{i+1}-h_i|∣hi+1 −hi ∣,求所有相邻段颠簸量的平均值。
解题思路
由题意可得:d1=∣h2−h1∣,d2=∣h3−h2∣,…,dn−1=∣hn−hn−1∣d_1=|h_2-h_1|,d_2=|h_3-h_2|,\dots,d_{n-1}=|h_n-h_{n-1}|d1 =∣h2 −h1 ∣,d2 =∣h3 −h2 ∣,…,dn−1 =∣hn −hn−1 ∣。没有 dnd_ndn 。
题目求的是 d1+d2+⋯+dn−1n−1\dfrac{d_1+d_2+\cdots+d_{n-1}}{n-1}n−1d1 +d2 +⋯+dn−1 ,所以答案为:
h2−h1∣+∣h3−h2∣+⋯+∣hn−hn−1∣n−1\dfrac{h_2-h_1|+|h_3-h_2|+\cdots+|h_n-h_{n-1}|}{n-1} n−1h2 −h1 ∣+∣h3 −h2 ∣+⋯+∣hn −hn−1 ∣
CODE
时间复杂度:O(n)\text O(n)O(n)。