新浪微博 笔试

一、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;
}
}

#新浪微博22届秋招启动##微博##笔经#
全部评论
你好第一个编程题怎么做呀,没有头绪
点赞
送花
回复
分享
发布于 2021-08-18 21:11
老哥是什么岗位呀,怎么题目跟我们不一样
点赞
送花
回复
分享
发布于 2021-08-18 21:22
网易互娱
校招火热招聘中
官网直投
我两道题全是暴力AC的
点赞
送花
回复
分享
发布于 2021-08-20 09:43
不定项选择都有什么啊,操作系统和网路吗
点赞
送花
回复
分享
发布于 2021-09-24 09:57

相关推荐

点赞 评论 收藏
转发
1 2 评论
分享
牛客网
牛客企业服务