微众笔试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.遍历数组,往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]。而每个长度的枚举,通过滑动窗口遍历一遍数组即可。
全部评论
相关推荐
点赞 评论 收藏
分享