前言

利用周末时间做了这套网易2019实习生招聘编程题,链接如下:
题目链接

成绩

先来看一下博主的成绩,打了67分,完全做对了4道题,另外的4道题中1道题完成了80%,1道题完成了30%。评价一下就是这套题的难度还可以,只是三个小时连续打代码的确很累,退出之后再次进入又重新做了,牛客也不能接着做…这点好坑,反复浪费了很多时间。下次再刷这种题,必须一口气刷完。

题目解析

1.牛牛找工作

题目描述

为了找到自己满意的工作,牛牛收集了每种工作的难度和报酬。牛牛选工作的标准是在难度不超过自身能力值的情况下,牛牛选择报酬最高的工作。

思路

这道题肯定是需要哈希表,用来存储不同难度对应的报酬。我们的思路很简单,创建两个数组一个数组包括任务难度与小伙伴的能力,另一个数组只存储小伙伴的能力,然后将第一个数组排序,设置一个变量用于存储小于等于当前能力值的最大报酬,遍历整个数组,更新该变量并赋值给哈希表。输出的时候只要根据第二个数组的顺序去哈希表中获取即可。
一定要将第一个数组排序是因为这样数组才是按照能力从小到大排序。

代码

import java.util.*;
public class Main{public static void main(String[]args){Scanner sc = new Scanner(System.in);int n = sc.nextInt();int m = sc.nextInt();HashMap<Integer,Integer> hs = new HashMap<>();int []ablitiy = new int[n+m];int[]people = new int[m];for(int i=0;i<n;i++){ablitiy[i] = sc.nextInt();int money = sc.nextInt();hs.put(ablitiy[i],money);}for(int i=0;i<m;i++){ablitiy[n+i] = sc.nextInt();people[i] =  ablitiy[n+i];if(!hs.containsKey(ablitiy[n+i])){hs.put(ablitiy[n+i],0);}}Arrays.sort(ablitiy);int max = 0;//不断更新max,让max为不超过当能力值(ablitiy[i])的最大报酬for(int i=0;i<n+m;i++){//与当前能力值对应的报酬比较。max = Math.max(max,hs.get(ablitiy[i]));hs.put(ablitiy[i],max);}for(int i=0;i<m;i++){System.out.println(hs.get(people[i]));}}}

2.被3整除

题目描述

小Q得到一个神奇的数列: 1, 12, 123,…12345678910,1234567891011…。
并且小Q对于能否被3整除这个性质很感兴趣。
小Q现在希望你能帮他计算一下从数列的第l个到第r个(包含端点)有多少个数可以被3整除。

思路

刚开始没有认真看题,以为加到10之后再加的是1,其实是11,所以阿认真审题是多么的重要!!!!!思路其实很简单我们都知道如何判断一个数能否除3就是看他所有位的加和是否能整除3

代码

题目很鸡贼,输入的两个值可能或超过范围限制,所以要使用long型,当然那个各位之和也是要用long型,这个坑了我好久= =

import java.util.*;
public class Main{public static void main(String[]args){Scanner in = new Scanner(System.in);while(in.hasNext()){long l = in.nextLong();long r = in.nextLong();long lnow = l*(l+1)/2;int times = 0;for(long i=l;i<=r;i++){if(i!=l){lnow+=i;}if(lnow%3==0)times++;}System.out.println(times);}}
}

3.安置路灯

题目描述

思路

由于时间不够,我就跳过了这道题,我一直觉得这个题是不是动态规划或者要用滑动窗口?当时想到了只要当前这个位置需要点亮,那么就放置一盏路灯,然后其左边和右边的都被点亮了。结果看了答案好简单。
就是判断当前是否为’.’,如果是的话就加一盏灯,然后向后走三位,如果不是的话,就是‘X’,那么直接向后走一位。

代码

import java.util.*;
public class Main{public static void main(String[]args){Scanner sc = new Scanner(System.in);while(sc.hasNext()){int t1 = sc.nextInt();while(t1>0){int length = sc.nextInt();sc.nextLine();String s = sc.nextLine();int num = findNum(s);System.out.println(num);t1--;}}}public static int findNum(String s){int times = 0;for(int i=0;i<s.length();i++){char now = s.charAt(i);if(now=='.'){times++;i+=2;}else;}return times;}
}

迷路的牛牛

题目描述

思路

这道题可以用很简单的方式去做,不管途中向左了转了多少次,向右转了多少次,都可以转换为向左转了X次,X可正可负,
同时,牛牛向左转四次就又回到了最初的起点,所以这个X还需要去除四取余数。不同的值对应不同的结果。当X为负时,我们就将X变成向右转的次数-向左转的次数,然后用4去减该值即可。N对应0,W对应1,S对应2,E对应3。

代码

import java.util.*;
public class Main{public static void main(String[]args){Scanner in = new Scanner(System.in);while(in.hasNext()){int N = in.nextInt();in.nextLine();String s = in.nextLine();int l = 0;int r = 0;for(int i=0;i<s.length();i++){char c = s.charAt(i);if(c=='L')l++;elser++;}int dire = 0;if(l>r)dire = (l-r)%4;else if(r>l)dire = 4-(r-l)%4;char c = 'N';if(dire==1)c =  'W';else if(dire==2)c = 'S';else if(dire==3)c = 'E';System.out.println(c);}}
}

不足与展望

网易2019实习生招聘编程题集合相关推荐

  1. 网易2019实习生招聘编程题集合 矩形重叠

    网易2019实习生招聘编程题 矩形重叠 题目链接:https://www.nowcoder.com/test/9763997/summary [编程题] 矩形重叠 时间限制:1秒 空间限制:32768 ...

  2. 网易2019实习生招聘编程题集合 - 题解

    原题链接:点这儿. 网易的题还是有技术含量的,二分和数学和优美暴力考察得较多,这些东西在工作中确实很重要,都是优化程序的方法. 第一题:牛牛找工作 题目: 为了找到自己满意的工作,牛牛收集了每种工作的 ...

  3. 网易2019实习生招聘编程题

    **原题链接:**点这儿 网易的题还是有技术含量的,二分和数学和优美暴力考察得较多,这些东西在工作中确实很重要,都是优化程序的方法. # 第一题:牛牛找工作 ## 题目: > 为了找到自己满意的 ...

  4. 网易2019实习生招聘编程题解答

    问题一: 牛牛找工作 为了找到自己满意的工作,牛牛收集了每种工作的难度和报酬.牛牛选工作的标准是在难度不超过自身能力值的情况下,牛牛选择报酬最高的工作.在牛牛选定了自己的工作后,牛牛的小伙伴们来找牛牛 ...

  5. 牛牛找工作--网易2019实习生招聘编程题

    时间限制:2秒 空间限制:65536K 为了找到自己满意的工作,牛牛收集了每种工作的难度和报酬.牛牛选工作的标准是在难度不超过自身能力值的情况下,牛牛选择报酬最高的工作.在牛牛选定了自己的工作后,牛牛 ...

  6. 牛牛的闹钟--网易2019实习生招聘编程题

    牛牛总是睡过头,所以他定了很多闹钟,只有在闹钟响的时候他才会醒过来并且决定起不起床.从他起床算起他需要X分钟到达教室,上课时间为当天的A时B分,请问他最晚可以什么时间起床 输入描述: 每个输入包含一个 ...

  7. 网易2019实习生招聘编程题之数对

    文章目录 限制 时间限制:1秒 空间限制:32768K 题目描述 牛牛以前在老师那里得到了一个正整数数对(x, y), 牛牛忘记他们具体是多少了. 但是牛牛记得老师告诉过他x和y均不大于n, 并且x除 ...

  8. 网易2019实习生招聘算法题(一)

    网易2019实习生招聘算法题(一) 题目 为了找到自己满意的工作,牛牛收集了每种工作的难度和报酬. 牛牛选工作的标准是在难度不超过自身能力值的情况下,牛牛选择报酬最高的工作. 牛牛的小伙伴太多了,于是 ...

  9. 网易2019实习生Java编程题

    题1:平面内有n个矩形, 第i个矩形的左下角坐标为(x1[i], y1[i]), 右上角坐标为(x2[i], y2[i]). 如果两个或者多个矩形有公共区域则认为它们是相互重叠的(不考虑边界和角落). ...

最新文章

  1. 什么样的显卡能支持 4K 分辨率输出?
  2. 取出表A中第31到第40记录
  3. PostgreSQL学习手册(数据库维护) 转
  4. asp 生成html文件,将指定的asp文件内容生成html文件_asp技巧
  5. 华为Mate 30 Pro前面板曝光:双曲面设计 几乎全是屏
  6. 【转】小结登录的几种交互方式
  7. 基于Springboot的景区旅游管理系统 JAVA MySQL
  8. 菜鸟学习C++之Console Application
  9. 计算机多媒体作业是什么,多媒体计算机技术作业一
  10. python图片合成的示例
  11. 网络工程师有什么发展?
  12. 基于深度学习的动物识别方法研究与实现
  13. mysql保留小数点后一位 进位处理_请问EXCEL保留小数点后一位时是如何修约的?
  14. 这儿有你所需要的所有关于科研的网址
  15. 计算机组成原理带符号的阵列乘法器,计算机组成原理阵列乘法器课程设计报告精选.doc...
  16. 基于图像的三维建模——特征点检测与匹配
  17. Logstash~filter.kv插件使用教程(附带示例)
  18. 解决由于找不到amd_ags_x64.dll,无法继续执行代码。重新安装程序可能会解决此问题,地平线(Forza Horizon 5)
  19. C#通过操作注册表检测office版本
  20. android launcher3,Android Launcher3 基本功能分析

热门文章

  1. 软件测试工程师薪酬水平,软件测试工程师工资怎么样?高吗?
  2. 计算机老出现无法响应,电脑经常出现假死或未响应怎么处理
  3. dns 劫持是什么意思,DNS劫持有啥解决办法?
  4. Java并发编程(一)——并发的基本概念
  5. Gym - 101492 F. Hitting the target(几何)
  6. 【锐捷】交换机,AC设备虚拟化(VSU、VAC)
  7. phpcms 设置page页码 首页、末页、总数据
  8. Python3 PDF转图片
  9. 路由器WDS桥接教程
  10. POM 文件中 licenses 许可证的定义