微软校招笔试8.25

第一题 输入int N, N至少两位,至少包含一个数字5, eg. 1345
求 删除其中一个5以后能够得到的最大数字是多少。
eg. -315135  -->   -31135,   15950 ->  1950
我的解法:遍历获取‘5’的index,求删除5后得到的数值,求最大

第二题 输入数组A[], 求共有多少个区间(p,q)使得 A[p] + A[p+1]....A[q] = 0
if result>1000000000 return -1
解法: 前缀和+hashmap,遇到相同前缀和,也就获得了sum0区间

第三题 输入数组 记录一维位置A[], 求有多少个平稳速度区间,
平稳速度区间定义:至少包含连续三个位置,满足等差, eg. 1,2,3 -->  1个 或 9,7,5,3 --> 3个
if result>1000000000 return -1
一维dp做的感觉复杂度太高,求大佬指教。

#微软笔试##微软校招#
全部评论
第三题 力扣413
1
送花
回复
分享
发布于 2022-08-26 07:09 吉林

相关推荐

4 11 评论
分享
牛客网
牛客企业服务