微软笔试

#引流 微软 微软 微软
0806:都是核心代码模式
1、修路,"....xxx....xxxx...xx" “.”代表路面平整,“x”代表路面不平整,消除连续的k个x消费k+1,实现一个函数public int solution(String S,  int B)求出B最多能修复的x.
2、交换小球,"RWRRRWWR"  R代表红色小球,W代表白色小球,每次只能交换相邻的两个小球,求能让红色小球全部连续的最小交换次数,如果交换次数大于10的9次方则返回-1.
3、看病问题,医生有S个时间空隙,有N个病人,编号0~N-1,病人可以选择A[i]的时间空隙,也可以选择B[i]的时间空隙,医生每个时间段只能看一个病人,能安排所有病人看病返回true,不能则false;实现函数public boolean solution(int[] A,int[] B, int S)
用例1:
A[1,2,1,6,8,7,8]
B[2,3,4,7,7,8,7]
S=10
找不到任何一个序列能看完所有的病人,返回false;
用例2:具体忘记了
就是病人数量大于S数量,返回false;
用例3:具体也忘记了,自己想的一个合理的例子
A[1,3,1]
B[2,3,2]
S=3
那么1,3,2或者2,3,1都是满足的序列,返回true
第二次
未完待续....



#笔经#
全部评论
我二题用的前缀后缀和,推公式,先记录r的位置,比如[1,3,5],然后遍历每个位置,让其他r往这个位置靠拢的移动次数,比如5,那就是 左边的(5-3-1)+(5-1-2)也就是5*2(左边r的个数)-(3+1)(5左边位置的累加和)-(1+2)(第一个r移动到5左边第1个位置,第二个r移动到5左边第二个位置,也就是r的个数求和)。右边同理,两部分加起来即可,复杂度是on。
14 回复 分享
发布于 2022-08-06 12:10
第二题不是让最中间的小球不动,其他小球往中间的小球靠就可以了?为啥用二分,是我想的太简单了咩
5 回复 分享
发布于 2022-08-06 12:13
第三题感觉是二分图最大匹配吧,匈牙利算法,过了test case不知道实际分数
5 回复 分享
发布于 2022-08-06 11:48
第一题应该贪心 第二题双指针往中间移 第三题dfs过了三个测试用例 不知道为啥第二题有个测试用例老过不了时间都没了 第一题写完了没debug 吐了
3 回复 分享
发布于 2022-08-06 12:22
第三题并查集,或者哈希map,哈希复杂度有点高因为要回溯解,但本质都是在一个连通集判边数是否大于节点数
3 回复 分享
发布于 2022-08-06 11:46
不知道自己写的叫啥算法,样例倒是都过了,第三题额外测了两个样例😂
2 回复 分享
发布于 2022-08-06 15:09
第一题大根堆每次取最长的坑填 第二题找到最左和最右边的R 每个W判断左边和右边各有几个R就是交换次数,取较小的交换,累加 第三题先拓扑排序筛所有每个时刻只有一个病人的安排掉,剩下的成环,累加病人数和时间数,如果时间数>病人数,则可以安排。。 三道题的想法
2 回复 分享
发布于 2022-08-06 14:08
第一题用的堆排序,记录连续X出现的次数,每次弹出最大的; 第二题贪心,直接找所有红球中处在中间位置的; 第三题用的DFS+剪枝,不过还是担心时间复杂度高。。
2 回复 分享
发布于 2022-08-06 12:41
第三题我用的是hashset加回溯解,但回溯有一种情况没考虑明白,有个example没过
1 回复 分享
发布于 2022-08-07 01:16
第三题拓扑排序
1 回复 分享
发布于 2022-08-06 11:53
第二题有部分用例过不了,找到问题了,没时间改了;第三题不会......
1 回复 分享
发布于 2022-08-06 11:41
不开摄像头也不用共享屏幕吗
点赞 回复 分享
发布于 2022-08-13 12:29
为啥不用开摄像头
点赞 回复 分享
发布于 2022-08-13 11:04
微软笔试是中文吗
点赞 回复 分享
发布于 2022-08-08 20:24
这一帖子大咖云集。
点赞 回复 分享
发布于 2022-08-08 16:36
所有岗位的笔试题目都是一样的吗
点赞 回复 分享
发布于 2022-08-07 10:43
第二题的最后一个超过10的9次方那个用例咋过啊😥一直不知道咋处理,最后没办法写了一个判断超过10的9次方的判断还是不对😢
点赞 回复 分享
发布于 2022-08-06 15:45
1.大根堆2.中位数3.并查集。样例都o了,不知方法对不对、复杂度怎么样
点赞 回复 分享
发布于 2022-08-06 14:51
请问之后会公布成绩吗
点赞 回复 分享
发布于 2022-08-06 12:55
第三题拓扑排序
点赞 回复 分享
发布于 2022-08-06 11:55

相关推荐

01-12 20:12
已编辑
门头沟学院 C++
【个人背景】 26届校招,目前手里两个Offer极其纠结。 个人技术栈偏向 底层/C++/Go,对 Java 后端这种业务开发比较抵触。希望能听听牛友们的真实建议!【Offer 基本情况】1. 阿里(杭州,目前已签): 暑期实习留用组,主要做技术中台方向。优点:1. 是自己实习的组,知根知底,组内同事相处正常;2. 下班时间基本在 20:00 左右,相较于部分卷王组,这边体感尚可接受。缺点:1.  存在大厂普遍的通病,周报、日报、KPI 压力等,体感较内卷;2.  虽是偏技术中间件的组,但已知只要是阿里后面要写 Java,与个人兴趣契合度一般。2. 微软-苏州(MAI部门): 盲盒,入职前才分组。优点:1. 平台: 外企背书强,方便以后跳槽或Global Transfer。2. 兴趣: AA面时面试官建议去做 Bing后端 或 Edge,技术栈更偏底层,符合我兴趣。3. 生活: 苏州房价/生活压力小,总包略高于阿里(含股票,分四年归属)。缺点:1. 不稳: 微软最近一直有裁员/Reorg动作(EO14117),担心业务稳定性。2. 卷度未知: 听说MAI现在不仅不WLB,而且非常卷,且因为入职前才分组,很担心分到核心卷组或边缘组,失去去外企的初衷。【核心纠结点】 我希望在合理范围内能尽量追求 WLB,或者如果下班时间晚,但至少不要在无意义的KPI里内耗。选阿里: 稳,8点下班确定性高,但技术方向不喜欢,而且有点心累。选微软: 平台好,技术喜欢,但“盲盒”属性太强。很怕分进去发现既没有WLB,又面临业务动荡(其实个人内心是想去微软的,但确实顾虑也很多)先谢过各位指点!
阿里求职进展汇总
点赞 评论 收藏
分享
评论
5
106
分享

创作者周榜

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