Vivo 2019秋季校园招聘笔试题(9月22号机考)

Vivo笔试题这次真是出乎意料了,上来就直接三道编程题奉上!!!

题目描述:

1.小V在公司负责游戏运营,今天收到一款申请新上架的游戏“跳一跳”,为了确保提供给广大玩家朋友们的游戏都是高品质的,按照运营流程小V必须对新游戏进行全方位了解体验和评估。这款游戏的规则如下:

       有n个盒子排成了一行,每个盒子上面有一个数字a[i],表示在该盒子上的人最多能向右移动a[i]个盒子(比如当前所在盒子上的数字是3,则表示可以一次向右前进1个盒子,2个盒子或者3个盒子)。

       现在小V从左边第一个盒子上开始体验游戏,请问最少需要移动几次能到最后一个盒子上?

2.今年7月份vivo迎来了新入职的大学生,现在需要为每个新同事分配一个工号。人力资源部同事小V设计了一个方法为每个人进行排序并分配最终的工号,具体规则是:

       将N(N<10000)个人排成一排,从第1个人开始报数;如果报数是M的倍数就出列,报到队尾后则回到对头继续报,直到所有人都出列;最后按照出列顺序为每个人依次分配工号。请使用自擅长的编程语言帮助小V实现此方法。

3.小V最近在玩一款挖矿的游戏,该游戏介绍如下:

(1)每次可以挖到多个矿石,每个矿石的重量都不一样,挖矿结束后需要通过一款平衡矿车运送下山;

(2)平衡车有左右2个车厢,中间只有1个车轮沿着导轨滑到山下,且矿车只有在2个车厢重量完全相等且矿石数量相差不超过1个的情况下才能成功运送矿石,否则在转弯时可能出现侧翻。

       假设小V挖到了n(n<100)个矿石,每个矿石重量不超过100,为了确保一次性将n个矿石都运送出去,一旦矿车的车厢重量不一样就需要购买配重砝码。请问小V每次最少需要购买多少重量的砝码呢?(假设车厢足够放下这些矿石和砝码,砝码重量任选)

前面两道好理解,最后一道没看懂,用什么方法呢?求大神指教!

 

 

你可能感兴趣的:(技术小白GO)