首页 > 华为OD机考试题分享
头像
为看花火大会而编程
发布于 2021-10-10 17:07
+ 关注

华为OD机考试题分享 内部员工回复

    先介绍自己的情况,21届985某理毕业应届生,因为二战和考公等规划不明确,导致毕业前没参加校招。
因为是目标院校985,所以被华为OD 德科的HR联系。
机考3道题,前两道简单题(2X100) ,第三道题中等题 (1X200)
    总分400,目标院校150以上就过。
    简单题和中等题 难度没有多大区别,主要还是看你擅长哪类题目以及什么语言(比如说python大法好导致我第三道题几乎秒AC,但是卡百分之65用例,改了快一个小时还是卡用例)
先提一句,前三道题几乎都是字符串和数组,一般"独立“刷完牛客网华为机考的简单和中等题,过机考应该就没问题了(如果想拿高分还是得掌握高级算法,如图搜索 动态规划)
第一道题:
        给定一个固定数组,和一个正整数n, 求该数组的最长子序列之和=n (就是子序列之和=n,然后要最长的)
没啥好说的,暴力法+栈和动态规划都能做,牛客题库也有类似的最长子序列题目。
    我的解题: 直接栈进行暴力法遍历就行了,注意优化的一点就是如果遍历的子序列之和大于n了之后直接continue。

第二道题: 
        
    给定一个字符串,字符串内容全是括号 : () {} []  , 字符串在下列情况下为无效字符串直接输出-1 : 1.有没对应的括号存在 即只存在{ 不存在 } 等等 。 还有个无效条件忘了,大概也是括号不匹配。
  最后要你输出最大的嵌套深度 (其实就是完整的括号对 套了几层, 比如说 " ({[()]})" 就是4层)
 
基本上考察: 栈的知识。
我的思路就是:
      遍历到左括号比如( [ { 就进栈,  遍历到 右括号 就与栈内索引最大的对应括号出栈,并且记录下栈内还剩多少括号(嵌套深度+1)。



第三道题:
 字符串的条件匹配。 给一堆待匹配的字符串str1 和 一个匹配规则字符串(正则表达式)比如说:  a.*   输出啥忘了,大概就是输出哪些字符串成功匹配。

python做这题很简单。直接re.search()就能做。

后续面试持续更新

全部评论

(8) 回帖
加载中...
话题 回帖
历年真题 真题热练榜 24小时
技术(软件)/信息技术类
查看全部

近期精华帖

热门推荐