网易互娱9月7晚的笔试

网易互娱9月7晚的笔试,听说大家都AC 了 4道,我只A了3道,希望网易能给个面试机会吧。大家都A了几道啊?
第一题
#include <iostream>
#include <string>
#include <vector>
using namespace std;

vector<int> Trans(long long n)
{
    vector<int> vec;
    while(n>0)
    {
        int k=n%2;
        vec.push_back(k);
        n/=2;
    }
    while(vec.back()==0)
    {
        vec.pop_back();
    }
    return vec;
}

bool judge(vector<int> vec)
{
    int n=vec.size();
    if(n<1)
        return false;
    if(n==1)
        return true;
    for(int i=0;i<n/2;i++)
    {
        if(vec[i]!=vec[n-1-i])
            return false;
    }
    return true;
}

int main()
{
    int t;
    cin>>t;
    while(t--)
    {
        long long num;
        cin>>num;
        vector<int> temp=Trans(num);
        if(judge(temp))
            cout<<"YES"<<endl;
        else
            cout<<"NO"<<endl;
    }
    return 0;
}

第二题我是先构建二叉树,找出根节点,然后层次遍历判断,大家是这么做的?
#include <iostream>
#include <string>
#include <vector>
#include <queue>
using namespace std;

struct Node
{
    int val;
    Node *left,*right;
    Node(int v,Node *l=NULL,Node *r=NULL):val(v),left(l),right(r){}

};

bool judge(Node *root)
{
    if(root==NULL)
        return false;
    queue<Node *> q;
    q.push(root);
    int current_sum=0;
    int pre_sum=0;
    while(!q.empty())
    {
        current_sum=0;
        int len=q.size();
        for(int i=0;i<len;i++)
        {
            Node *t=q.front();
          //  cout<<t->val<<' ';
            current_sum+=t->val;
            q.pop();
            if(t->left!=NULL)
                q.push(t->left);
            if(t->right!=NULL)
                q.push(t->right);
        }
        if(current_sum<pre_sum)
            return false;
        pre_sum=current_sum;
      //  cout<<endl;
    }
    return true;
}


int main()
{
    int t;
    cin>>t;
    while(t--)
    {
        int n;
        cin>>n;
        vector<Node* > vec;
        int *IN=new int[n];
        for(int i=0;i<n;i++)
        {
            Node *temp=new Node(-1);
            vec.push_back(temp);
            IN[i]=0;
        }
        for(int i=0;i<n;i++)
        {
            int v,l,r;
            cin>>v>>l>>r;
            IN[l]=IN[r]=1;
            vec[i]->val=v;
            if(l!=-1)
                vec[i]->left=vec[l];
            if(r!=-1)
                vec[i]->right=vec[r];
        }
        int r=0;
        for(int i=0;i<n;i++)
        {
            if(IN[i]==0)
            {
             //   cout<<"root:"<<i<<' ';
                r=i;
                break;
            }
        }
        if(judge(vec[r]))
            cout<<"YES"<<endl;
        else
            cout<<"NO"<<endl;
    }
    return 0;
}

第三题,自己疏忽了,写错一行代码,调半天才改对,看来写代码第一遍就得把逻辑想清楚,不然错的时候很耗时间去调试。
#include <string>
#include <vector>
#include <queue>
#include<iostream>
using namespace std;


int main()
{
    int t;
    cin>>t;
    while(t--)
    {
        int k,m;
        cin>>k>>m;
        int day[31];
        for(int i=0;i<=30;i++)
            day[i]=0;           //标记可 喝咖啡的日期
        for(int i=0;i<m;i++)
        {
            int t;
            cin>>t;
            day[t]=1;
        }

        int l=1,r=1;
        day[1]=1;
        while(l<=30&&r<=30)
        {
            r=l+k+1;
            bool flag=true;
            for(int j=l+1;j<=30&&j<r;j++)
            {
                if(day[j]==1)           //如果后边  K天 内 有 必须喝咖啡的日子,则当前日子不满足
                {
                    day[l]=0;
                    l=j;
                    flag=false;
                    break;
                }
            }
            if(flag&&r<=30)
            {
                day[r]=1;
                l=r;
            }

        }
        int sum=0;
        for(int i=1;i<=30;i++)
        {
            if(day[i]==1)
            {
         //        cout<<i<<' ';
                 sum++;
            }

        }
    //    cout<<endl;
        cout<<sum<<endl;
    }
    return 0;
}


#笔试题目##网易互娱#
全部评论
同2.1菜🐔
点赞 回复 分享
发布于 2019-09-10 12:38
请问有人收到面试通知了吗?AC多少题才能进面试啊(游戏研发工程师)。
点赞 回复 分享
发布于 2019-09-09 16:53
嗷呜 又是攻城狮大佬 我是初级攻城狮 布吉岛2.6道能不能进面试
点赞 回复 分享
发布于 2019-09-08 23:48
哈哈哈2.1菜🐔报到
点赞 回复 分享
发布于 2019-09-07 22:11
只做了第一题的渣渣😢
点赞 回复 分享
发布于 2019-09-07 21:55
2.1,菜的一匹
点赞 回复 分享
发布于 2019-09-07 21:51
为啥就我看到的是3个题😫
点赞 回复 分享
发布于 2019-09-07 21:48
2.1哈哈 菜死了
点赞 回复 分享
发布于 2019-09-07 21:47

相关推荐

迷茫的大四🐶:价格这么低都能满了?
点赞 评论 收藏
分享
评论
点赞
11
分享

创作者周榜

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