2018網易筆試程式設計題 重排數列

2021-08-08 02:37:26 字數 875 閱讀 5950

題目 :

小易有乙個長度為n的正整數數列a = 。

牛博士給小易出了乙個難題:

對數列a進行重新排列,使數列a滿足所有的a[i] * a[i + 1](1 ≤ i ≤ n - 1)都是4的倍數。

小易現在需要判斷乙個數列是否可以重排之後滿足牛博士的要求。 

輸入描述:

輸入的第一行為數列的個數t(1 ≤ t ≤ 10),

接下來每兩行描述乙個數列a,第一行為數列長度n(1 ≤ n ≤ 10^5)

第二行為n個正整數a[i](1 ≤ a[i] ≤ 10^9)

輸出描述:

對於每個數列輸出一行表示是否可以滿足牛博士要求,如果可以輸出yes,否則輸出no。

輸入例子1:

2

31 10 100

41 2 3 4

輸出例子1:

yes

no

思路:每個奇數左右兩側的數必須是4的倍數,因此只要求出奇數的個數和4的倍數的數的個數,後者大於前者即可輸出「yes」,否則輸出「no」

#include #include #include using namespace std;

int main()

else

}} int odd = 0, even4 = 0;

for (int j = 0; j < size; ++j)

if (even4 >= odd)

else

} for (auto beg = str.begin(); beg != str.end(); ++beg)

return 0;

}

2016網易筆試程式設計題

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

網易筆試程式設計題 Fibonacci數列

fibonacci數列是這樣定義的 f 0 0 f 1 1 for each i 2 f i f i 1 f i 2 因此,fibonacci數列就形如 0,1,1,2,3,5,8,13,在fibonacci數列中的數我們稱為fibonacci數。給你乙個n,你想讓其變為乙個fibonacci數,每...

2019網易秋招筆試 程式設計題 塔

小易有一些立方體,每個立方體的邊長為1,他用這些立方體搭了一些塔。現在小易定義 這些塔的不穩定值為它們之中最高的塔與最低的塔的高度差。小易想讓這些塔盡量穩定,所以他進行了如下操作 每次從某座塔上取下一塊立方體,並把它放到另一座塔上。注意,小易不會把立方體放到它原本的那座塔上,因為他認為這樣毫無意義。...