一、华为实习面试及转正面试
【岗位:机器学习算法岗】
1.申请时间:2018年12月31日前,简历注册
2.线上笔试时间:1月5日19:00-21:00,全程摄像,不能查阅任何资料,可以用本地IDE,线上平台为牛客网,语言不限。
(1)需要注意的点是:需要写输入输出(Java输入用Scanner)
(2)试题1:在一串数字中(不超过20位),找到1000以内的最大值。
输入:23456789
输出:789
- 解题思路1:第一想法是输入一串数字,利用窗口值为3的滑动窗口,从第一个数字开始依次滑动,每次取3个数字,进行比较。(易错点是:循环的取值范围)
- 解题思路2:由于输入的是数字,没有办法取数字的第n个值,所以要先转为字符数组,再通过组合进行比较。
(3)试题2:在字符串中,以;分割字符串,第一个编号为0,依次类推,通过输入查询的编号,输出分割后的字符串
输入:adsafsf;asfgare;tehrdtgrdtg;wewfrwe
2
输出:tehrdtgrdtg - 解题思路1:利用;进行分割字符串,将分割好的字符串存入数组中,方便取出。
- 解题思路2:利用java里split()函数进行分割
(4)试题3:迷宫问题
输入迷宫行数,列数,起始点行坐标,起始点列坐标,终点行坐标,终点列坐标,障碍点个数,障碍点1的行坐标,障碍点1的列坐标,障碍点2的行坐标,障碍点2的列坐标,障碍点3的行坐标,障碍点3的列坐标,其中有的以,分割;有的以空格分割,每一次只能上下左右移动一格,输出最短路径,没有输出“找不到路径“
输入&#x