吉比特 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 广东

相关推荐

07-20 21:57
已编辑
门头沟学院 Java
点赞 评论 收藏
分享
07-11 22:27
中南大学 Java
程序员牛肉:学历的话没问题。但是没问题的也就只有学历了。 其实你的整体架构是正确的,博客接着干。但是项目有点过于简单了。从后端的角度上讲,你这也就是刚入门的水平,所以肯定约面试够呛。 如果你要应聘后端岗位,那你第一个项目竟然是仿写操作系统。这个你要面试官咋问你。你一定要记住一点,你简历上写的所有的东西,都是为了证明你有能力胜任当前的岗位,而不是为了证明你自己会什么。 如果你只是浅浅的做几个项目,描述也都是烂大街。技术点也都是各种混水类的配置类需求,那你就不要幻想自己能走多远。一定要保持思考,保持学习。
点赞 评论 收藏
分享
评论
3
1
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务