吉比特 4.24笔试

1:给定数组a[n],以及q次查询(l,r),输出al - a(l+1) - a(l+2) ... a(r-1) - ar的值
2:给定一排多米诺骨牌,每次可以选择一个位置和一个方向(左或右)进行推倒,如果相邻骨牌比当前的数值小就会被推倒,并继续向该方向传播,直到遇到不小的骨牌为止。问最少需要多少次操作才能将所有骨牌都推倒
3: 给一段长度为len的绳子,并分成n份,以及一个数组a[n],a[i]>=3表示需要将这小段绳子围成a[i]边形,-1表示随意,问这n个图形里面积最小的最大是多少

1 : 前缀和,al - a(l+1) - a(l+2) ... a(r-1) - ar = al - [a(l+1) + a(l+2) ... a(r-1) + ar]
2 : 从一端开始遍历,从当前位置开始找最长的连续递增的且长度大于2的一段,能找到ans++,否则尝试递减的,能找到ans++,否则当前位置只能推倒自己,ans++,然后继续找下一段
3 :二分最大面积,每次求n个图形都围成mid所需要的最短绳子总长与len比较,多边形就用正多边形,-1用圆形
全部评论
有收到面试吗佬
点赞 回复 分享
发布于 04-30 20:03 广东
nb,第三题看了半天没看懂
点赞 回复 分享
发布于 04-24 23:51 广东
大佬第二题这样能过吗,我考虑过先试往左或者往右,或者同时考虑左右推的最大可能,但是始终感觉无法严格证明
点赞 回复 分享
发布于 04-24 21:43 澳大利亚
第一题秒了第二题第三题不会
点赞 回复 分享
发布于 04-24 21:40 广东

相关推荐

评论
2
1
分享

创作者周榜

更多
牛客网
牛客企业服务