题解 | #合并表记录#

合并表记录

https://www.nowcoder.com/practice/de044e89123f4a7482bd2b214a685201

#include <stdio.h>

typedef struct{
    int index;
    int value;
}LList;
//void swap(LList a,LList b)
//{
//    LList p=a;
//    a=b;
//    b=p;
//}
int main() {
    int n;
    scanf("%d",&n);
    LList L[n],ll;
    int i,j,k;
    for(i=0;i<n;i++)
    {
        scanf("%d%d",&L[i].index,&L[i].value);
    }
    for(i=0;i<n-1;i++)
    {
        for(j=i+1;j<n;j++)//相同index合并
        {
            if(L[j].index==L[i].index)
            {
                L[i].value+=L[j].value;
                for(k=j;k<n-1;k++)//删除已被合并的
                {
                    L[k]=L[k+1];
                }
                n--;//总数目减一
                j--;//重新比较
            }
        }
    }
    for(i=0;i<n-1;i++)//index排序
    {
        for(j=i+1;j<n;j++)
        {
            if(L[j].index<L[i].index)
            {
                  ll=L[i];
                  L[i]=L[j];
                  L[j]=ll;
            }
        }
    }
    for(i=0;i<n;i++)
    {
        printf("%d %d\n",L[i].index,L[i].value);
    }
    return 0;
}

全部评论
为啥index排序那里交换两行不能用单速构造的swap函数啊
点赞 回复 分享
发布于 2023-11-14 12:11 广东

相关推荐

07-03 11:02
中山大学 C++
字节刚oc,但距离九月秋招很近了有两段互联网实习,非腾讯字节。不敢赌转正,现在在纠结去还是不去如果实习俩月离职会有什么后果吗
阿城我会做到的:不去后悔一辈子,能否转正取决于ld的态度,只要他不卡,答辩就是走流程,个人觉得可以冲一把
投递字节跳动等公司8个岗位
点赞 评论 收藏
分享
这算盘打的
程序员小白条:都这样的,都是潜规则,你自己说可以实习一年就行了,实习可以随便跑路的
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-04 15:36
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务