騰訊提前批筆試題 2 魔法序列

2021-09-12 11:38:37 字數 699 閱讀 2954

小q擁有乙個只儲存了整數的序列叫做魔法序列。一開始序列為空,小q會執行以下兩種操作:

add(x):表示往系列中新增乙個值為x的整數。(add陣列表示每次往陣列中新增的數字)

get(y):表示在第y次add操作後,取出序列中第k小的數,並將其輸出。其中k初始時候為1,每執行一次get操作之後,k的值會+1。(get陣列中第i個數表示在執行了get(i)次add操作後,執行一次get操作)

const add =[3

,1,-

4,2,

8,-1000,2

];const

get=[1

,2,6

,6];

const

main

=(input, output)

=>

} console.

log(result);}

;const

helper

=(a, array)

=>

return start;};

main

(add,

get)

;

答題當時的思路非常差,企圖在每次get()執行時進行sort()排序,這是乙個非常餿的主意,強行增加複雜度。當前思路是add()執行的時候一直維護乙個有序的陣列,通過二分查詢,找到插入資料的位置,方便在get()時選擇第k小的數字。

2019騰訊c 後台提前批筆試題

五個演算法題。第一題 有n種硬幣,面額分別為1 n,每種硬幣都有無限個,假設要付款的金額為m。要求支付硬幣數最少。為多少?答 m n m n 很簡單的乙個題 第二題 乙個數列 1 2 3 4 5 6 詢問q次,每次詢問區間 l,r 的區間和,輸出每個詢問的答案.答 第1個和第2個加起來為1,第3,4...

騰訊2019提前批筆試 硬幣題解

演算法描述 牛家村的貨幣是一種很神奇的連續貨幣.他們貨幣的最大面額是n,並且一共有面額為1,面額為2,面額為n,n種面額的貨幣.牛牛每次購買商品都會帶上所有面額的貨幣,支付時會選擇給出數量最小的方案.現在告訴你牛牛將要購買的商品的 你能算出牛牛支付的硬幣數量嗎?第一行兩個整數n,m.表示貨幣的最大面...

騰訊提前批筆試題 1 圓桌會議

有n個人圍坐在乙個圓桌周圍進行一場圓桌會議。會議開始前從第s個人開始報數,數到第m的人就出列退出會議,然後從出列的下乙個人重新開始報數,數到第m的人又出列,如此重複直到所有人全部出列為止。現在希望你能夠求出按退出會議次序得到的人員的序號序列。輸入描述 三個正整數n,s,m,均小於10000。輸出描述...