网易笔试编程题求解!!【刚做完】

有n个位置,每个位置有Hi个积木,(i为1到n)。人有一个背包,背包空间无限大,初始时人在第一个位置,背包里有m个积木。可以进行以下操作:
1,将一定数量的积木从位置上拿到背包里。
2,将一定数量的积木从背包里拿到位置上。
3,移动到下一个位置。
问能否通过操作将n个位置上的积木数量严格正序排列(h1<h2<h3<……<hn)积木数量可以为0。

我的想法是从第一个位置开始判断,i为0到n-1,m=m+arr[i]-i,m小于零则NO。
结果通过率30%,想不明白哪里不对,或者有什么情况没考虑到,各位大佬有啥想法提点一下😂#网易##笔试题目##C++工程师#
全部评论
求解第四题,最小操作数,有人会吗
点赞 回复 分享
发布于 2019-09-22 10:07
为什么我的题目是只能拿一个,或者不拿😮
点赞 回复 分享
发布于 2019-09-21 18:19
思路是 从前往后 每个位置都要求  最小木头书(0 + ... + i)<=  当前位置及之前所以的木头数(m + arr[0] + ... + arr[i])
点赞 回复 分享
发布于 2019-09-21 17:55
应该是对m值的判断没处理好,这个判断应该放在循环内,如果放在外面可能会存在m先小于0后大于0的情况。
点赞 回复 分享
发布于 2019-09-21 17:53
爆int了 修改long long估计就可以了 没改之前也是30 改了100  
点赞 回复 分享
发布于 2019-09-21 17:51
这个思路错了,他这个移动只能从前往后移动,不能返回的,所以你要每个位置都判断一下,利用现有的积木能不能做到
点赞 回复 分享
发布于 2019-09-21 17:49
我用javascript a100% ,第一个数字必须是0以后得每一个比前面的大一个,不够的话补上,补不了退出no,如果数字比较大就把他减小到比前一个大1
点赞 回复 分享
发布于 2019-09-21 17:48
我也觉得是int的问题。但是我换成long还是不行
点赞 回复 分享
发布于 2019-09-21 17:45
我也是30。我在想是不是int的问题
点赞 回复 分享
发布于 2019-09-21 17:33
可能是溢出?
点赞 回复 分享
发布于 2019-09-21 17:30
同问
点赞 回复 分享
发布于 2019-09-21 17:27

相关推荐

qq乃乃好喝到咩噗茶:院校后面加上211标签,放大加粗,招呼语也写上211
点赞 评论 收藏
分享
深夜书店vv:腾讯是这样的,去年很多走廊都加桌子当工区
点赞 评论 收藏
分享
评论
点赞
2
分享

创作者周榜

更多
牛客网
牛客企业服务