360公司2016研发工程师内推机试题解

总结:比想象中的简单一些,第一题字符哈希很简单,第二题我一开始看是图论,心中凉凉,很久没刷过图论了(LeetCode还是要刷起来),结果不难想,应该算LeetCode中easy的图论题了

最后一个字符

#include <iostream>
#include <map>
using namespace std;
 
int main(){
    int T;
    //scanf("%d",&T);
    cin>>T;
    while(T--){
        string s;
        map<char,int> m;
        //scanf("%s",&s);
        cin>>s;
        for(int i=0;i<s.size();i++){
            m[s[i]]++;
        }
        int i;
        for(i=0;i<s.size();i++){
            if(m[s[i]]==1)
                break;
        }
        printf("%c\n",s[i]);
    }
     
}

小镇镇长

#include <stdio.h>
#include <iostream>
#include <vector>
using namespace std;
int main()
{
    int T;
    while(cin>>T)
    {
        while(T)
        {
            int n,m;
            cin>>n>>m;
             
            vector<int> ren(n+1, 1);
            vector<int> be(n+1, 1);
            for(int i = 0;i<m;i++)
            {
                int a,b;
                cin>>a>>b;
                if(a!=b)
                {
                    ren[a]++;
                    be[b]++;
                }
            }
            vector<int> ans;
            for(int i =1;i<=n;i++)
            {
                if(ren[i]==1&&be[i]==n)
                    ans.push_back(i);
            }
             
            cout<<ans.size()<<endl;
            if(ans.size()<1)
                cout<<endl;       
            else
            {
                for(auto item:ans)
                    cout<<item<<endl;
            }
            T--;
        }
  
    }
    return 0;
}


发布了377 篇原创文章 · 获赞 344 · 访问量 17万+

猜你喜欢

转载自blog.csdn.net/qq_41895747/article/details/105037736
今日推荐