Re: [闲聊] 每日leetcode

楼主: oin1104 (是oin的说)   2024-07-13 13:44:50
机掰
今天这题我之前用c写过
我看到笑死
怎么这么鸡巴又长又丑
逻辑跟现在差不多
给你们看一下
typedef struct {
int pos;
int hp;
char dir;
int num;
} robot;
int cmp (const void * a, const void * b)
{
return ( *(int*)a - *(int*)b );
}
int cmp2 (const void * a, const void * b)
{
return ( ((robot*)a)->num - ((robot*)b)->num );
}
int* survivedRobotsHealths(int* positions, int positionsSize, int* healths, int
healthsSize, char * directions, int* returnSize)
{
robot relaxing234[100000] = {};
for(int i = 0 ; i < positionsSize ; i ++)
{
relaxing234[i].pos = positions[i];
relaxing234[i].hp = healths[i];
relaxing234[i].dir = directions[i];
relaxing234[i].num = i;
}
qsort(relaxing234 , positionsSize , sizeof(robot) , cmp);
robot stack[100000] = {};
int top = 0;
for(int i = 0 ; i < positionsSize ; i++)
{
if(relaxing234[i].dir == 'R')
{
stack[top] = relaxing234[i];
top++;
}
else if(relaxing234[i].dir == 'L')
{
if(top == 0)
{
stack[top] = relaxing234[i];
top++;
}
else if((top != 0)&&(stack[top-1].dir == 'L'))
{
stack[top] = relaxing234[i];
top++;
}
else if((top != 0)&&(stack[top-1].dir == 'R'))
{
if(stack[top-1].hp > relaxing234[i].hp)
{
stack[top-1].hp
作者: CanIndulgeMe (CIM)   2024-07-13 13:45:00
芋圆是技术大神
作者: Smallsh (Smallsh)   2024-07-13 13:48:00
大师

Links booklink

Contact Us: admin [ a t ] ucptt.com