2022年11月18日 星期五

[2374] Node With Highest Edge Score

感覺不難的題目~可是會超過INT大小就很討厭XD
直覺寫起來是這樣, 但是看了一下別人的解法, 其實可以在一個回圈裡做完
就是算分數的時候都順便存這是不是當前的max
如果要更新max 而且index 比較小的話, 就順便更新index 
如果是一樣大的max, 因為題目要求要回傳index小的, 所以需要比一下index
但我又懶的寫了XD 先這樣吧~~~~(光速逃)

int edgeScore(int* edges, int edgesSize){
unsigned int* score = calloc (edgesSize, sizeof(unsigned int));
for (int i=0;i< edgesSize; i++)
score[edges[i]]+= i;
int max=0, ret=0;
for (int i=0;i<edgesSize;i++)
{
// printf("score %d %d\n",i, score[i]);
if (score[i]>max)
{
max = score[i];
ret = i;
}
}
return ret;
}

沒有留言:

張貼留言