Map

谁是你的潜在朋友

http://www.nowcoder.com/questionTerminal/0177394fb25b42b48657bc2b1c6f9fcc

map可以直接过

#include<iostream>
#include<map> 
#include<vector>
#include<string> 
using namespace std;
int main()
{
    map<int,int> book;
    vector<int> stu;
    int n,m;

    cin>>n>>m;
    int b;
    for(int i=0;i<n;i++)
    {
        cin>>b;
        stu.push_back(b);
        book[b]++;    
    } 
    map<int,int>::iterator it;
    for(int i=0;i<n;i++)
    {
        it=book.find(stu[i]);
        if(it->second-1>0)
            cout<<it->second-1<<endl;
        else
            cout<<"BeiJu"<<endl;
    }
    return 0;
}
全部评论
for(int i=0;i<n;i++) //您好,请问为什么我这里写while(n--)就不会有输出结果 { cin>>b; stu.push_back(b); book[b]++; }
点赞
送花
回复
分享
发布于 2020-03-05 10:31
while(n--)和for(i<n;i++)是一样的啊,肯定是其他方面出问题了。完整代码我看一下。
点赞
送花
回复
分享
发布于 2020-03-05 11:55
秋招专场
校招火热招聘中
官网直投
#include<iostream> (720)#include<cstdio> #include<vector> (721)#include<string> #include<map> using namespace std; int main(){ map<int,int> book; vector<int> student; int n,m; cin>>n>>m; int temp; while(n--){ cin>>temp; student.push_back(temp); book[temp]++; } map<int,int>::iterator it; for(int i=0;i<n;++i){ it = book.find(student[i]); if(it->second-1>0){ cout<<it->second-1<<endl; } else{ cout<<"BeiJu"<<endl; } } return 0; }
点赞
送花
回复
分享
发布于 2020-03-05 15:28
是因为上面N已经减成0了,下面 for(int i=0;i<n;++i){ it = book.find(student[i]); if(it->second-1>0){ 这个无法执行
点赞
送花
回复
分享
发布于 2020-03-05 15:31
发现自己的错误了,谢谢。
点赞
送花
回复
分享
发布于 2020-03-05 16:01

相关推荐

6 收藏 评论
分享
牛客网
牛客企业服务