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

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

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

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

private static int solution(int[] input) {// TODO Write your code hereint sum = 0;int n = input.length;for(int i = 0; i < n; i++) sum += input[i];int halfNum=(n+1)/2;int halfWeight=(sum+1)/2;int diff = 10000;                  // 两车矿石的重量差// 动态规划,dp[i][j]表示用i块矿石能否使重量为jboolean[][] dp=new boolean[105][10005];dp[0][0]=true;int weight=0;//一辆矿石车的重量for(int i=0;i<n;i++){for(int j=sum;j>=input[i];j--){for(int k=n;k>=0;k--){// 如果可以用k块矿石凑j-input[i]的重量if(dp[k][j-input[i]]){dp[k+1][j]=true;//选上第i块石头凑出重量jif(k+1==halfNum&&Math.abs(j-halfWeight)<diff){diff=Math.abs(j-halfWeight);weight=j;}}}}}return Math.abs(sum-weight*2);}

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

将N(N<10000)个人排成一排,从第1个人开始报数;如果报数是M的倍数就出列,报到队尾后则回到队头继续报,直到所有人都出列;

最后按照出列顺序为每个人依次分配工号。请你使用自己擅长的编程语言帮助小v实现此方法。

 private static String solution(int[] input) {int n=input[0];int m=input[1];// TODO Write your code hereArrayList<Integer> list=new ArrayList();for(int i=0;i<n;i++){list.add(i+1);}StringBuilder res=new StringBuilder();int temp=0;for(int j=0;j<n;j++){temp=(temp+m-1)%list.size();res.append(list.get(temp)+" ");list.remove(temp);}return res.toString().trim();}

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

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

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

private static int solution(int[] input) {// TODO Write your code hereif(input.length==1) return 0;if(input.length>1&&input[0]==0) return -1;int[] dp=new int[input.length];for(int i=0;i<input.length;i++){int range=Math.min(input.length-1,i+input[i]);for(int j=i+1;j<=range;j++){if(dp[j]==0) dp[j]=dp[i]+1;}}return dp[input.length-1]==0?-1:dp[input.length-1];}

vivo 2020届校招在线编程笔试B卷相关推荐

  1. vivo 2020届校招在线编程笔试A卷

    1.小v是公司的运维工程师,现有一个有关应用程序部署的任务如下: 1.一台服务器的磁盘空间.内存是固定的,现在有N个应用程序要部署: 2.每个应用程序所需要的磁盘.内存不同,每个应用程序允许访问的用户 ...

  2. vivo 2020届校招在线编程笔试

    题目:运矿车 小v最近在玩一款挖矿的游戏,该游戏介绍如下: 1.每次可以挖到多个矿石,每个矿石的重量都不一样,挖矿结束后需要通过一款平衡矿车运送下山: 2.平衡矿车有左右2个车厢,中间只有1个车轮沿着 ...

  3. vivo 2020届校招 报数

    1.题目描述: 2.题解: 双端队列 def solution(N, M):# TODO Write your code here# -*- coding:utf-8 -*-# write code ...

  4. vivo 2020届校招 跳盒子,贪心算法

    1.题目描述: 2.题解: 与力扣45题跳跃游戏Ⅱ类似,但要做改动 贪心算法 def solution(step_list):#// TODO Write your code hereend ,max ...

  5. vivo2021届秋季校招在线编程

    vivo2021届秋季校招在线编程 //用队列实现拓扑排序,但因为题目要求"同时可以编译多个文件的情况,按数字升序返回",所以用个小根堆来保持升序的特性. import java. ...

  6. 2020届校招浦发银行 信息科技 创新岗 面经及历年汇总~

    浦发银行 信息科技 创新岗 面经 信息科技岗位又分大数据.系统开发.创新岗(AI) 上海总行,在莲花路1688号面试,因为离得很远,六点就起来坐地铁了,一直看牛客凌晨3点才睡着,一路在地铁上'钓鱼'O ...

  7. 如何看待 2020 届校招算法岗「爆炸」的情况?英雄所见略同

    来自:计算机视觉联盟公众号 转载 :知乎问题 如何看待 2020 届校招算法岗「爆炸」的情况? 链接:https://www.zhihu.com/question/342267611 本文仅作为学术交 ...

  8. 2020届校招总结(秋招+春招)

    2020届校招总结(秋招+春招) 目录 个人情况 秋招 春招 总结 个人情况 末流211本科,通信工程专业,在实验室主要是做机器视觉和深度学习相关,实习在一家500强外企做数据挖掘,主要是在研究时序数 ...

  9. 如何看待 2020 届校招算法岗「爆炸」的情况?

    编辑:忆臻 https://www.zhihu.com/question/342267611 本文仅作为学术分享,如果侵权,会删文处理 如何看待 2020 届校招算法岗「爆炸」的情况? 作者:Ted ...

最新文章

  1. web 服务发布注意事项
  2. ​比9种SOTA GNN更强!谷歌大脑提出全新图神经网络GKATs
  3. php larval 胖模型,php – 从缓存中获取的Laravel模型访问器 – 性能增强
  4. Runtime.getRuntime().exec()
  5. SQL 性能优化梳理
  6. Mac双系统中删除Windows系统教程
  7. bootstrap-datepicker 开始时间-结束时间 thinkphp
  8. 腾讯云推出首款自研H265硬件编码器瑶池,助力云游戏降低15%带宽
  9. web html 在线调试工具
  10. java中强制类型转换
  11. axure画扇形_axure实现粗略饼状图
  12. NativeWindow_02_DialogBoxParam_VC6
  13. STM32 HAL库 时钟芯片RX8025T IIC的读写操作,入过的坑
  14. PS-给文字填充图片纹理
  15. 快速构建栅格地图-MatLab
  16. 什么是横向扩展和纵向扩展?
  17. 使用Visio画各种可视化的流程图之基本流程图和跨职能流程图
  18. Python实现随机抽签
  19. viewpager切页
  20. iphone两个备份合并_看完这篇干货,再备份iPhone数据

热门文章

  1. “塞班”必将引领手机操作系统潮流
  2. Java爬虫,爬取新闻网的标题、时间和图片,并存入MySQL数据库
  3. html和js画圣诞树图片,JavaScript圣诞树及其算法
  4. 计算机课程制作月历,【信息技术】《制作月历》教学反思
  5. 如何在不同的 ViewController 之间传递信息
  6. DreamMail的DmData.dao文件损坏的解决方法
  7. go-pitaya学习笔记(4)-clusterdemo分析
  8. SVMtrain的参数c和g的优化
  9. VS2010~VS2015~VS2019颜色字体设置策略
  10. 【Linux】文件解压缩、解打包命令解析(zip、unzip、tar)