微软正式批笔试

情况:正式批第三批笔试,2.26~2.27内任意时间完成,时间为2小时,是在codility上。这次笔试不是很难但感觉自己没能给出最优。供之后准备微软笔试的同学参考呀!!

题目

1、n个球员站在一排,编号0~n-1,玩家按四个基本方向之一的箭头键:左(<),上(^)或下(v)对球员从左至右进行移动,给定一个表示移动的字符串(如'^ < v >') ,问有多少球员能成功完成一个动作。(简单模拟)

2、给出两个长度相同的字符串,求两个字符串中相“匹配”的字符子串个数,“匹配”是指两个子串在原字符串中起点相同,且两个字符子串长度一致,各字符出现次数一致(同一字符串内部字符不同 排序构成的字符串)

例如:s="dBacaAA" ,t="caBdaaA",答案是5

其中 "dBac"与"caBd"匹配(子串起始位置:0)

"dBaca"与"caBda"匹配( 子串起始位置:0)

"Ba"和"aB"匹配( 子串起始位置:2)

"a"与"a"匹配( 子串起始位置:4)

"A"与"A"匹配( 子串起始位置:6)

3、有N个点位于一条线上,编号从0到N-1,其坐标在数组A中给出。对于给定的整数M,如果子集内任意两个点之间的距离可被M整除,则称这些点的子集为M对齐。要求给出给定N个点集的最大M对齐子集的大小。
例如,考虑整数M = 3和数组A,A[0]=-3,A[1]=-2,A[2]=1,A[3]=0,A[4]=8,A[5]=7,A[6]=1
包含编号为1、2、5和6的点的子集,坐标分别为-2、1、7和1,因为:

  • 编号为1和2的点之间的距离为abs(A[1]-A[2])=3
  • 从5号点到编号1和2的点的距离分别为9和6
  • 从6号点到编号为1、2和5的点的距离分别为3、0和6
  • 这些距离都可以被M = 3整除。此子集的大小为4,并且没有更大的3对齐子集。

(数论问题,同余的就是一组)

#微软##笔经#
全部评论
楼主, 第2题有啥妙招吗
1 回复 分享
发布于 2022-02-28 10:15
春招的笔试???
1 回复 分享
发布于 2022-03-02 15:19
第2题用动态规划?
点赞 回复 分享
发布于 2022-02-28 13:34
好家伙,咱们题目一样
点赞 回复 分享
发布于 2022-02-28 18:11
第三题一模一样
点赞 回复 分享
发布于 2022-03-20 12:28

相关推荐

点赞 评论 收藏
分享
评论
7
34
分享
牛客网
牛客企业服务