Re: [閒聊] 每日LeetCode

看板Marginalman作者 (是oin的說)時間2年前 (2023/11/07 19:16), 編輯推噓4(402)
留言6則, 6人參與, 2年前最新討論串496/719 (看更多)
我終於搞完這題了 這應該是我第一個完成的normoal 原本想自己先試試看 直接暴力拆開來解 結果runtime error 我吐了 然後我聽我同學跟看動物園的那個 才改成這樣 哀 我流淚了 int eliminateMaximum(int* dist, int distSize, int* speed, int speedSize) { int day =0; int mon = 0; int kill=0; int daymap[100000] = {}; //天數的怪物 for(int o = 0 ; o < distSize ; o++) { daymap[(dist[o]-1) / speed[o]] ++; } while(kill != distSize) { kill ++; mon = mon + daymap[day]; if(kill < mon ) { return kill; } day++; } return kill; } 這是原本的寫法 int eliminateMaximum(int* dist, int distSize, int* speed, int speedSize) { int i =0; int kill=0; int distnext[distSize] ; //天數 for(int o = 0 ; o < distSize ; o++) { distnext[o] = (dist[o]-1) / speed[o]; } while(1) { //殺光光就回傳 if(kill == distSize) { return kill; } i = 0; //指定下一輪最靠近的 for(int t = 0 ; t < distSize ; t++) { if(distnext[t] < distnext[i]) { i = t; } } //沙怪物 dist[i] = -999999; distnext[i] = 9999999; kill++; //怪物走路 for(int k = 0 ; k < distSize ; k++) { if(dist[k] != -999999) { dist[k] = dist[k] - speed[k]; } } //走道主堡了沒 for(int gg = 0 ; gg < distSize ; gg++) { if(dist[gg] != -999999 && dist[gg] <= 0) { return kill; } } } return kill; } 我吐了 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 134.208.57.64 (不明) ※ 文章網址: https://www.ptt.cc/bbs/Marginalman/M.1699355779.A.3D9.html

11/07 19:17, 2年前 , 1F
大師 給我錢
11/07 19:17, 1F

11/07 19:17, 2年前 , 2F
加油
11/07 19:17, 2F

11/07 19:18, 2年前 , 3F
恭喜
11/07 19:18, 3F

11/07 19:20, 2年前 , 4F
你很棒
11/07 19:20, 4F

11/07 19:20, 2年前 , 5F
好爽喔
11/07 19:20, 5F

11/07 19:22, 2年前 , 6F
你很棒
11/07 19:22, 6F
文章代碼(AID): #1bIXo3FP (Marginalman)
討論串 (同標題文章)
文章代碼(AID): #1bIXo3FP (Marginalman)