2021-8-18新浪微博 笔试

一、20个不定项选择题
二、两道算法题新浪自己出的题,都不难,AC了1.8)
1,、投喂食物
2、推荐符合三个条件的好友
三、简答题(TCP的三次握手过程)

1、用食物数组s去投喂小鹿数组g,C++代码(通过80%)
class Solution{
    int find( vector< int> & g, vector< int> & s)
    {
    sort( g. begin(), g. end()); //要先排序
    sort( s. begin(), s. end()); //排序
    int glen= g. size();
    int slen= g. size();
    int count= 0;
    if(glen>=slen) //小鹿多,食物少 如小鹿数组s[3]={1,5,6},食物数组s[2]={1,2};
    {
        for( int i= 0,j= 0;i<slen,j<glen;i++,j++)
        {
            if( s[i]>= g[i])
            {
                count++;
            }
        }
        return count;
    }   
    else //小鹿少,食物多, 如小鹿数组g[3]={1,5,6},食物数组s[5]={1,2,3,10,15};
    {
        reverse( g. begin(), g. end()); //不能从前往后喂,要反转一下,从后往前喂食,用15容量的食物喂胃口为6的小鹿
        reverse( s. begin(), s. end());
        for( int i= 0,j= 0;i<slen,j<glen;i++,j++)
        {
            if( s[i]>= g[i])
            {
                count++;
            }
        }
        return count;
    }
    }
}

2、推荐好友,两个for循环嵌套可解决(通过100%)
class solution{
    int find(vector<int>& nums);
    int count=0;
    int n=nums.size();
    for(int i=0;i<n;i++)
    {
        for(int j=i+1;j<n;j++)
        {
            if(nums[i]<nums[j]*0.6 && (nums[i]<nums[j]+7) && (!(nums[i])>60 && nums[j]<60))
            {
                count++;
            }
            if(nums[j]<nums[i]*0.6 && (nums[j]<nums[i]+7) && (!(nums[j])>60 && nums[i]<60))  //交换i j位置 再判断,因为可以双向推荐好友
            {
                count++;
            }
    }
    return count;
    }
}
#新浪微博笔试##微博##笔试题目#
全部评论
楼主能贴一下第二题代码么
点赞 回复 分享
发布于 2021-08-18 22:07
第一题不是直接算就行吗
点赞 回复 分享
发布于 2021-08-18 22:02

相关推荐

ohs的小木屋:比不少实习待遇高了
点赞 评论 收藏
分享
点赞 评论 收藏
分享
06-16 15:04
黑龙江大学 Java
零OFFER战士:另一个版本查看图片
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
昨天 12:11
我最近都有点不想活了,天天早10晚11的,还问我爱不爱她目前的状态别说爱谁了,没扇谁就不错了。是不是大家都是一进节子,只有工作没有爱情了
AzureSkies:在字节的时候找的就是字节的,飞书太适合恋爱人士了,能看到是不是已读,是不是在会议中。简直冥婚好伴侣
投递字节跳动等公司9个岗位
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

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