2018網易校招程式設計題(7)瘋狂佇列

2021-08-07 06:32:20 字數 863 閱讀 9592

小易老師是非常嚴厲的,它會要求所有學生在進入教室前都排成一列,並且他要求學生按照身高不遞減的順序排列。有一次,n個學生在列隊的時候,小易老師正好去衛生間了。學生們終於有機會反擊了,於是學生們決定來一次瘋狂的佇列,他們定義乙個佇列的瘋狂值為每對相鄰排列學生身高差的絕對值總和。由於按照身高順序排列的佇列的瘋狂值是最小的,他們當然決定按照瘋狂值最大的順序來進行列隊。現在給出n個學生的身高,請計算出這些學生列隊的最大可能的瘋狂值。小易老師回來一定會氣得半死。

輸入描述:

輸入包括兩行,第一行乙個整數n(1 ≤ n ≤ 50),表示學生的人數

第二行為n個整數h[i](1 ≤ h[i] ≤ 1000),表示每個學生的身高

輸出描述:

輸出乙個整數,表示n個學生列隊可以獲得的最大的瘋狂值。

如樣例所示:

當佇列排列順序是: 25-10-40-5-25, 身高差絕對值的總和為15+30+35+20=100。

這是最大的瘋狂值了。

輸入例子1:

5 5 10 25 40 25

輸出例子1:

100解題思路:

同樣是通過舉例發現其中的規律:

1)首先對陣列從小到大排序。

2)將最大值排置佇列的第乙個位置。

3)之後在最大值的後面插入當前的最小值。

4)然後在上一步最小值後面插入當前的最大值。

5)重複3)與4),將所有的資料依次插入。

6)最後將相鄰值求絕對差得到的瘋狂值迴圈相加求得極大瘋狂值。

2018 年網易校招程式設計題 瘋狂佇列

小易老師是非常嚴厲的,它會要求所有學生在進入教室前都排成一列,並且他要求學生按照身高不遞減的順序排列。有一次,n個學生在列隊的時候,小易老師正好去衛生間了。學生們終於有機會反擊了,於是學生們決定來一次瘋狂的佇列,他們定義乙個佇列的瘋狂值為每對相鄰排列學生身高差的絕對值總和。由於按照身高順序排列的佇列...

2018網易校招題

1 為了得到乙個數的 相反數 我們將這個數的數字順序顛倒然後再加上原先的數得到 相反數 例如,為了得到1324的 相反數 首先我們將該數的數字順序顛倒。我們得到5231,之後再加上原先的數,我們得到5231 1325 6556,如果顛倒之後的數字有字首 字首零將會被忽略。例如n 100。顛倒之後是1...

2018網易校招內推 瘋狂佇列

小易老師是非常嚴厲的,它會要求所有學生在進入教室前都排成一列,並且他要求學生按照身高不遞減的順序排列。有一次,n個學生在列隊的時候,小易老師正好去衛生間了。學生們終於有機會反擊了,於是學生們決定來一次瘋狂的佇列,他們定義乙個佇列的瘋狂值為每對相鄰排列學生身高差的絕對值總和。由於按照身高順序排列的佇列...