Re: [闲聊] 每日LeetCode

楼主: oin1104 (是oin的说)   2023-11-07 19:16:17
我终于搞完这题了
这应该是我第一个完成的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;
}
我吐了
作者: JIWP (JIWP)   2023-11-07 19:17:00
大师 给我钱
作者: ZooseWu (N5)   2023-11-07 19:17:00
加油
作者: AquaCute (水色铜碲)   2023-11-07 19:18:00
恭喜
作者: SecondRun (雨夜琴声)   2023-11-07 19:20:00
你很棒
楼主: oin1104 (是oin的说)   2023-11-07 19:20:00
好爽喔
作者: DDFox (冒险者兼清洁工)   2023-11-07 19:22:00
你很棒

Links booklink

Contact Us: admin [ a t ] ucptt.com