博客
关于我
记一次华为机试
阅读量: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/

    你可能感兴趣的文章
    python 列表转字典方法
    查看>>
    Python 列表(List)概述-ChatGPT4o作答
    查看>>
    Python网络爬虫基础进阶到实战教程
    查看>>
    Python 初学者需要知道的四条建议
    查看>>
    Python 判断字符串是否包含子字符串
    查看>>
    python 判断当前时间是否为零点
    查看>>
    python 利用pandas读取本地中CSV文件的指定列 列名重命名 并保存回本地
    查看>>
    python 利用pyspark读取HDFS中CSV文件的指定列 列名重命名 并保存回HDFS
    查看>>
    python 利用pyttsx3文字转语音
    查看>>
    python 利用已有Ner模型进行数据清洗合并
    查看>>
    python 到大数据开发工程师_如何成为一个大数据开发工程师?
    查看>>
    python 加密解密(base64, AES)
    查看>>
    Python 包管理器和 Node.js
    查看>>
    Python 单词字母顺序不变且所有倒排
    查看>>
    python 反射机制
    查看>>
    python 启动提示IDLE's subprocess didn't make conne...
    查看>>
    python 命令接口_实现“[命令][操作][参数]”样式的命令行接口?
    查看>>
    Python 和 OpenCV.如何检测图像中的所有(填充)圆形/圆形对象?
    查看>>
    Python 和 RabbitMQ - 聆听来自多个渠道的消费事件的最佳方式?
    查看>>
    python编辑器打不开_关于命令ride.py打不开RF,而是打开pycharm编辑器问题解决思路...
    查看>>