寧O進,爲塊技。。。od梗,今晚剛看到,不出意外我又掛了!
我只是想找個備胎,畢竟被裁員了,這麼大年齡也不確實不好找。
我從週一開始刷題,週五考試,剛開始我每道題在看完題解後都寫出來,後來發現效率非常低,因爲腦袋的確不好使。連最簡單的都不會,可以說沒有一道題能自己做出來。看了題解,有的都不理解,這使我越加感嘆,我這些年能找到工作簡直是太幸運了!截止週四晚上十一點,我居然只寫了7道題,看題解看了不到20題,一共76題(C卷),我本以爲是,結果我打開hr分享給我的另一個文件夾,那裏居然也寫的C卷,也有幾十道題。我怎麼看得那麼慢?GPT有一定責任,有些題解我看不懂,在csdn上查都要付費開通,我想着把題目複製給GPT做,讓他給我講講,結果他寫的題解我跑不起來,我花了一些時間給他糾正。看來題目卻是描述有問題,比如那個虛擬遊戲資產的題。我那股子勁兒上來後,非要給他寫對了才罷休,後來確實跑出來了。
今天早上我不到八點就出發了,到公司9點多,早上的地鐵很擠,誰讓咱是規規矩矩打工人?今天要跟公司籤協議,兩分鐘完事兒了,因爲賠償已經提前通知給我們了,這次就是把紙質的籤一下。簽完協議,我找了一個會議室,準備開始兩個半小時的機考。
一星題兩道,全是原題(有一道我準備時候還沒來得及看,所以有一點點印象,另一道剛發現是原題),但全是我沒遇到過的原題!我花了好久審第一道題,GPU算力分配的題目,半小時過去了,題目就是不理解,放棄是最大的美德!看第二道一星題吧,這道題可以採用暴力枚舉,我果斷暴力枚舉起來,比暴力枚舉稍微優化了一點點,自己能感覺到寫得很爛,抱着百分之五十的希望提交了,居然過了,心裏美滋滋,但是時間已經過去一小時了,只剩下一個半小時了。兩星題還沒看到呢。OD試卷只能先把兩個一星題提交後才能看二星題。二星題價值200分,一星題兩道,每題是100分。二星題一般是hard,我沒啥希望了,只能把剩下的時間孤注一擲在一星題上了。我喝了口公司3.5一杯的拿鐵,回頭看第一題,看用例推理推理?GPU每秒的任務是12345,每次執行3個任務,輸出6秒,那第6秒的任務是多少個呢?我糾結這個糾結很久,要不先不管這個點,隨便寫寫吧!我思路比較零散,我感覺我一貫是這樣,這也是有時候我懷疑自己不適合做測試的原因之一。
還剩半個小時了,我居然兩個題目的用例都結果正確了,但是其他用例卻錯了。正確率60%,問題出在哪呢?這是最難的部分,因爲你看自己寫的代碼,覺得沒問題,用例也能過幾個,也不知道啥樣的用例不能過。後來我發現程序確實有漏洞,趕緊把有個+1去掉了,結果用例正確率40%。無奈,只能60%提交了。
結果回家寫出來了。。。不知道當時是什麼原因。自己運氣是真的挺好,可是沒抓住機會,抽的題那麼簡單,還是寫不出來。遺憾。
GPU調度/執行時長
package org.jinwenxin; import java.util.Arrays; import java.util.Scanner; public class GPUCalculation { public static void main(String[] args) { Scanner sc = new Scanner(System.in); // 每次最大處理任務數 int taskMaxOnce = Integer.parseInt(sc.nextLine()); // 任務數組長度 int taskArrayLength = Integer.parseInt(sc.nextLine()); // 任務數組 int[] taskArray = Arrays.stream(sc.nextLine().split(" ")).mapToInt(Integer::parseInt).toArray(); int gpuCost = 0; int lastRemain = 0; for (int i = 0; i < taskArrayLength; i++) { // 剩下的和這一秒的恰好能一下處理完 if (taskArray[i] + lastRemain == taskMaxOnce) { // 沒處理的清零 lastRemain = 0; gpuCost++; } else { //如果這一秒的任務這次處理不完,那麼把剩下的累加起來 if(taskArray[i]>=taskMaxOnce){ lastRemain+=taskArray[i]-taskMaxOnce; gpuCost++; } } } // 加上剩下的任務數執行時間 gpuCost+=lastRemain; System.out.println(gpuCost); } }