位元組跳動第四題 最長的字繩子長度

2021-09-12 20:41:10 字數 748 閱讀 9789

大概題目如下

有n根繩子,第i根長為li,現需要m根等長繩子。

對n根繩子進行任意剪裁(不能拼接),計算出這m根繩子最長的長度

既然是要得出裁剪後的繩子長度,那麼 繩子長度是一定小於或等於 最長的繩子

(注意不是最短的繩子,如果最短的繩子和最長的繩子差距太大,捨去最短繩子一樣能夠 滿足 m根的要求 而且都比 最短的繩子長)

且一定大於 0

要在(0,max )中找到乙個 l 使 用它剪出的繩子 為 m 根

genius 的你,已經知道了,要使用 二分查詢 ~~yabei

定義乙個check函式 ,判斷 長度為l的繩子 可以剪出多少根,返回res 代表

如果res > m,說明也許還能更長(~~sigei),即下限提高 , 按照二分查詢的原理,此時的min= (max+min)/2

同理 resnums[i]) }//

double exp =0.1;

double mid = 0 ;

while(max-min>=exp)

else

} system.out.println(mid );

} int check(int nums,double mid)//返回能夠減出的最多條數,如果比要求的大,說明 l長了 ,反之則小了

位元組跳動2019第一次筆試第四題 動態規劃

兩個長度為n的序列a,b。問有多少個區間 l,r 滿足max a l,r 輸入描述 第一行乙個整數n 第二行n個數,第i個為a i 第三行n個數,第i個為b i 0 1 r輸出描述 一行乙個整數,表示答案 例1 輸入 3 2 1 3 3 3 輸出 3 答案 int n cin n vectora,b...

位元組跳動10月第一場研發筆試第四題

樓主海外留學生,昨晚參加了宇宙節的演算法筆試,被折磨的死去活來。最後一題揹包問題,當時有思路但是沒想清楚怎麼實現,後來時間不夠了唉。今天把 寫出來了,希望有大佬可以看一下正確與否。題目內容 第一行輸入三個數n,m,s。第二行輸入乙個包含n個數的數列 l i i 0,n 1.要求 輸出選取任意數量的數...

位元組跳動筆試題 找到最長的特徵運動

使用map記錄動作上一次出現的幀數和當前連續幀數,同時記錄下當前連續的最長幀數res。第一組數 1,1 0,1 2,2 0,1 res 1 即代表 1,1 上次出現在0時刻,當前連續動作為1 2,2 上次出現在0時刻,當前連續動作為1 第二組數 1,1 1,2 1,4 1,1 res 2 即代表 1...