博客
关于我
记一次华为机试
阅读量:422 次
发布时间:2019-03-06

本文共 1053 字,大约阅读时间需要 3 分钟。

华为机试笔记

考试结构

华为机试分为三个题目,其中两题每题100分,一题200分,压线150分算过。考试时间为150分钟,支持多语言环境(如牛客网)。考试时需全程打开摄像头和电脑屏幕分享,手机需打开小程序(可用计算器)不退出,建议使用本地IDE进行编码。

考试注意事项

  • 输入输出理解:明确题目要求的输入输出方式,避免自己造轮子,尤其是有现成解决方案时。
  • 效率优先:熟练掌握常用算法,能够快速解决问题,避免重复造轮子。
  • 心态调整:保持良好心态,遇到不会的题目可以放弃,但要尽力完成自己会的部分。

  • 消消乐(字符串)

    题目描述

    给定一个只包含大小写字母的字符串(大小写敏感),若相邻两个元素相等则消除,直到无法再消除为止。输出消消乐后字符串的长度,若字符串中包含非字母字符,则输出0。

    示例

    输入:mMbccbc解释:首先消除ccbb,剩下mMc,长度为3。

    题解思路

  • 输入检查:首先检查字符串是否包含非字母字符,如果有则返回0。
  • 特殊情况处理:对于长度为1或2的字符串,直接计算结果。
  • 主处理逻辑
    • 遍历字符串,逐个字符比较。
    • 当相邻字符相同时,跳过下一个字符。
    • 当不满足上述条件时,将字符添加到结果字符串中。
  • 最后处理:处理最后一个字符,确保其被正确包含在结果中。

  • 矩阵最大值(二维矩阵)

    题目描述

    给定一个n×n的二进制矩阵(仅包含0和1),计算矩阵的最大值。每行的元素可以进行左移或右移操作,转化为二进制数,求最大值之和。

    示例

    输入:51,0,0,0,10,0,0,1,10,1,0,1,01,0,0,1,11,0,1,0,1解释:通过左右移位操作,最大值为122。

    题解思路

  • 字符串处理:将输入字符串按逗号分割,得到每行的二进制字符串。
  • 二进制转十进制:使用parseInt函数,将每行的二进制字符串转换为十进制数。
  • 最大值计算:遍历所有行,计算最大值并累加。

  • 树的剪枝(树)

    题目描述

    给定一棵树,删除某个结点及其所有子结点,并按从小到大输出剩余结点。

    示例

    输入:52 108 103 84 81 48解释:删除结点8后,剩余结点为2、10。

    题解思路

  • 数据结构选择:使用对象存储父结点和子结点。
  • 递归删除:从根节点开始,递归删除指定的结点及其子结点。
  • 排序输出:收集剩余结点,按升序排列并输出。

  • 最后

    本文总结了华为机试的几道常见题目及解法,涵盖了字符串处理、矩阵操作和树结构等多个领域。建议在实践中多练习,熟练掌握相关算法,保持良好的心态,遇到不会的题目可以放弃,但要尽力完成自己会的部分。

    转载地址:http://dkrkz.baihongyu.com/

    你可能感兴趣的文章
    Prismix:Prisma 架构混合器,为复杂项目而生
    查看>>
    pritunl服务安装及配置
    查看>>
    Private Destructor
    查看>>
    private和protected能同时修饰成员变量吗_天天用注解你了解注解是怎么实现的吗?...
    查看>>
    privoxy Invalid header received from client.
    查看>>
    Privoxy代码下载
    查看>>
    Probabilistic-Programming-and-Bayesian-Methods-for-Hackers
    查看>>
    pytorch中的求和函数sum(axis=x)解释
    查看>>
    Problem F: 质心算法
    查看>>
    Problem N HDU 2612 Find a way (两次BFS求最值)
    查看>>
    Process /usr/libexec/gdu-notification-daemon was killed by signal 6 (SIGABRT)
    查看>>
    process.env.VUE_APP_BASE_API 获取不到
    查看>>
    Process.run() 和 Process.start() 之间的区别
    查看>>
    Processes
    查看>>
    Processing通过编程实现艺术设计_实现艺术和现实的交互---数据设计分析002
    查看>>
    ProcessOnLoading
    查看>>
    SpringBoot中集成screw(螺丝钉)实现数据库表结构文档生成
    查看>>
    PROFINET 模拟器使用教程
    查看>>
    Program type already present: android.support.v4.widget.EdgeEffectCompat
    查看>>
    PyTorch中文版官方教程来啦(附下载)
    查看>>