網易2017內推筆試題 逆置整數序列

2021-08-06 03:36:11 字數 682 閱讀 3148

1、小易有乙個長度為n的整數序列,a_1,...,a_n。然後考慮在乙個空序列b上進行n次以下操作:

1、將a_i放入b序列的末尾

2、逆置b序列

小易需要你計算輸出操作n次之後的b序列

輸入描述:輸入包括兩行,第一行包括乙個整數n(2 ≤ n ≤ 2*10^5),即序列的長度。

第二行包括n個整數a_i(1 ≤ a_i ≤ 10^9),即序列a中的每個整數,以空格分割。

輸出描述:在一行中輸出操作n次之後的b序列,以空格分割,行末無空格。 例:

輸入:n = 4

1 2 3 4

輸出:4 2 1 3

分析:這個題我當時筆的時候的思路就是,直接進行n次翻轉,可以執行過去,但是測試用例過去了50%,沒有完全通過。然後下來之後,自己想了想,這種題還是有明顯的規律的。

1、當n為偶數時,翻轉後的序列---》先為偶數遞減排列,然後為奇數遞增排列;

2、當n為奇數時,翻轉後的序列---》先為奇數遞減排列,然後為偶數遞增排列;

**實現:

int main()

cout << arr[0];

for (i = 2; i < n-1; i = i + 2)

cout << arr[0];

for (i = 1; i < n - 1; i += 2)

{ cout << " "<

網易2017內推筆試題

有 n 個學生站成一排,每個學生有乙個能力值,牛牛想從這 n 個學生中按照順序選取 k 名學生,要求相鄰兩個學生的位置編號的差不超過 d,使得這 k 個學生的能力值的乘積最大,你能返回最大的乘積嗎?輸入描述 每個輸入包含 1 個測試用例。每個測試資料的第一行包含乙個整數 n 1 n 50 表示學生的...

網易2017內推筆試題

如果乙個數字序列逆置之後跟原序列是一樣的就稱這樣的數字串行為回文序列。例如 是回文序列,不是回文序列。現在給出乙個數字序列,允許使用一種轉換操作 選擇任意兩個相鄰的數,然後從序列移除這兩個數,並用這兩個數字的和插入到這兩個數之前的位置 只插入乙個和 現在對於所給序列要求出最少需要多少次操作可以將其變...

網易2023年內推筆試題

小易有乙個圓心在座標原點的圓,小易知道圓的半徑的平方。小易認為在圓上的點而且橫縱座標都是整數的點是優雅的,小易現在想尋找乙個演算法計算出優雅的點的個數,請你來幫幫他。例如 半徑的平方如果為25 優雅的點就有 3,4 4,3 0,5 5,0 一共12個點。輸入描述 輸入為乙個整數,即為圓半徑的平方,範...