微众笔试ac

第一次ac,基本都是简单模拟,说说思路。

1.遍历数组,往set里存,一旦存在则返回。

2.将泥人长度排序,每遍历一个数nums[i],判断是否大于数组中前一个数nums[i-1],若满足,则直接跳过。若不满足,将 nums[i-1]+1作为新值,同时计算需要增加的长度。

3.给定n,u,v,由于已是最简的分数形式,以6 5 2为例,满足条件的所有可能为:长度为2,和为5的连续子数组;长度为4,和为10的连续子数组;长度为6,和为15的连续子数组。即枚举[5,2]的整倍数:[5,2],[10,4],[15,6]。而每个长度的枚举,通过滑动窗口遍历一遍数组即可。
全部评论

相关推荐

程序员猪皮:看不到八股什么意思
点赞 评论 收藏
分享
废铁汽车人:秋招真是牛鬼蛇神齐聚一堂
点赞 评论 收藏
分享
评论
1
1
分享
牛客网
牛客企业服务