题解:哈希表拉链法| #谁是你的潜在朋友#

谁是你的潜在朋友

https://www.nowcoder.com/practice/0177394fb25b42b48657bc2b1c6f9fcc

#include<iostream>
#include<algorithm>
#include<cstring>
using namespace std;

const int N = 210;
int h[N],e[N],ne[N],idx;

int sum[N];

void add(int a,int b){
    e[idx] = b;
    ne[idx] = h[a];
    h[a] = idx++;
}


int main() {

    memset(h,-1,sizeof h);

    int n,m;
    cin>>n>>m;
    for(int i =0;i<n;i++){
        int num;
        cin>>num;
        add(num,i);
    }


    for(int i = 0;i<N;i++){
        int count = 0;
        for(int j = h[i];j!=-1;j = ne[j]){
            count++;
            sum[e[j]]++;
        }
        if (count>=2){
            for(int k = h[i];k!=-1;k = ne[k]){
                sum[e[k]]+=(count-1);
            }
        }
    }

    for(int i =0;i<n;i++){
        if (sum[i] == 1){
            cout<<"BeiJu"<<endl;
        }else{
            cout<<sum[i]-1<<endl;
        }
    }


    return 0;
}

全部评论

相关推荐

程序员花海:1.技能放最后,来面试默认你都会,技能没啥用 2.实习写的看起来没啥含金量,多读读部门文档,包装下 接LLM这个没含金量 也不要用重构这种 不会给实习生做的 3.抽奖这个还是Demo项目,实际在公司里面要考虑策略,满减,触发点,触发规则 库存 之类的,不是这个项目这么简单 4.教育背景提前,格式为 教育背景 实习 项目 技能 自我评价
简历被挂麻了,求建议
点赞 评论 收藏
分享
11-03 13:18
门头沟学院 Java
包行:平时怎么刷算法题的哇,字节的手撕听说都很难
字节跳动工作体验
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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