網易校招筆試程式設計題二分法

2021-09-19 04:36:20 字數 952 閱讀 5838

又到了豐收的季節,恰逢小易去牛牛的果園裡遊玩。

牛牛常說他對整個果園的每個地方都瞭如指掌,小易不太相信,所以他想考考牛牛。

在果園裡有n堆蘋果,每堆蘋果的數量為ai,小易希望知道從左往右數第x個蘋果是屬於哪一堆的。

牛牛覺得這個問題太簡單,所以希望你來替他回答。

輸入描述:

第一行乙個數n(1 <= n <= 105)。

第二行n個數ai(1 <= ai <= 1000),表示從左往右數第i堆有多少蘋果

第三行乙個數m(1 <= m <= 105),表示有m次詢問。

第四行m個數qi,表示小易希望知道第qi個蘋果屬於哪一堆。

輸出描述:

m行,第i行輸出第qi個蘋果屬於哪一堆。
輸入例子1:

5

2 7 3 4 9

31 25 11

輸出例子1:

1

53

這道題目直接做會超時,時間複雜是o(cn), 使用二分法優化,時間複雜度是o(lognc)

#include const int n = 10010;

using namespace std;

int arr[n];

int find(int arr, int n, int target)

else if (arr[mid] >= target && arr[mid - 1] < target)

return mid;

else

right = mid - 1;

} return -1;

}int main()

scanf("%d", &m);

while (m--)

}

網易2018校招筆試程式設計題

小易準備去魔法王國採購魔法神器,購買魔法神器需要使用魔法幣,但是小易現在一枚魔法幣都沒有,但是小易有兩台魔法機器可以通過投入x x可以為0 個魔法幣產生更多的魔法幣。魔法機器1 如果投入x個魔法幣,魔法機器會將其變為2x 1個魔法幣 魔法機器2 如果投入x個魔法幣,魔法機器會將其變為2x 2個魔法幣...

程式設計 網易2019校招筆試程式設計題

題目 小易有乙個古老的遊戲機,上面有著經典的遊戲俄羅斯方塊。因為它比較古老,所以規則和一般的俄羅斯方塊不同。熒幕上一共有 n 列,每次都會有乙個 1 x 1 的方塊隨機落下,在同一列中,後落下的方塊會疊在先前的方塊之上,當一整行方塊都被佔滿時,這一行會被消去,並得到1分。有一天,小易又開了一局遊戲,...

網易2016校招內推筆試程式設計題

牛牛想嘗試一些新的料理,每個料理需要一些不同的材料,問完成所有的料理需要準備多少種不同的材料。輸入描述 每個輸入包含 1 個測試用例。每個測試用例的第 i 行,表示完成第 i 件料理需要哪些材料,各個材料用空格隔開,輸入只包含大寫英文本母和空格,輸入檔案不超過 50 行,每一行不超過 50 個字元。...