前言
金九银十,金三银四。当前正处于校招、社招的火热期,之前就想为正在筹备就业的同学们准备刷题宝典,如牛客网的华为机试、剑指offer、leetcode、大厂名企真题集合等,但是因为最近工作项目压力较大,所以只能通过空闲时间完成一套题目的全套解析,也就是偏向基础的华为机试。
华为机试虽然是一套相对简单的算法必备刷题集,里面也涉及了不少有些难度的考点,比如动态规划、树、图、表、深度优先遍历DFS、系统类设计等等,所以这套题目无论是针对新手上手,还是让有经验的大佬复习回顾,都是很不错的。
如果你能沉下心来,认真将这套题刷完,那么恭喜你,你已经初步具备了一个算法工程师的基础能力,即对STL容器、字符串、算法知识、数学逻辑等有了一定程度的了解,之后可以考虑进行进阶级别的刷题练习,比如华为、BAT、字节等大厂的真题训练,又或者进行一些模拟笔试来提高自己的限时手搓代码能力。
总的来说,还是希望本文能真切地帮助到一些同学,如果你能有所收获,请给我一个三连哦~
华为机试入口:华为机试题库_在线编程+题解_牛客题霸_牛客网
题目全解:
接下来就是题目解析通道,也是华为机试专栏的内容。
- 字符串最后一个单词的长度:字符串;
- 计算某字母出现次数:字符串、ASCII码、哈希;
- 明明的随机数:STL、map、数组、哈希;
- 字符串分隔:字符串;
- 进制转换:字符串、位运算、进制操作;
- 质数因子:数学、排序;
- 取近似值:数学;
- 合并表记录:STL、哈希;
- 提取不重复的整数:数组、位运算、哈希;
- 字符个数统计:字符串、哈希;
- 数字颠倒:字符串;
- 字符串反转:字符串;
- 句子逆序:数组、字符串;
- 字符串排序:字符串、排序;
- 求int型正整数在内存中存储时1的个数:位运算;
- 购物单:动态规划、数组;
- 坐标移动:字符串、正则表达式;
- 识别有效的IP地址和掩码并进行分类统计:字符串、查找;
- 简单错误记录:字符串、STL;
- 密码验证合格程序:字符串、数组;
- 简单密码:字符串;
- 汽水瓶:数学、模拟;
- 删除字符串中出现次数最少的字符:字符串、STL、排序;
- 合唱队:动态规划、队列;
- 数据分类处理:排序、STL;
- 字符串排序:字符串、排序;
- 查找兄弟单词:查找、STL;
- 素数伴侣:匈牙利算法;
- 字符串加解密:字符串;
- 字符串合并处理:字符串、排序、位运算、串流;
- 单词倒排:字符串、排序、STL;
- 密码截取:字符串、STL、回文;
- 整数与IP地址间的转换:字符串、位运算、串流;
- 图片整理:字符串、STL;
- 蛇形矩阵:数学、数组;
- 字符串加密:字符串、密码学;
- 统计每个月兔子的总数:查找、排序、斐波那契数列、递归;
- 求小球落地5次后所经历的路程和第5次反弹的高度:模拟、思维、数学;
- 判断两个IP是否属于同一子网:字符串、模拟、位运算、串流、STL;
- 统计字符:字符串;
- 称砝码:深度优先遍历DFS、字符串、STL;
- 学英语:字符串、字典、STL、思维;
- 迷宫问题:回溯法、深度优先遍历DFS、STL;
- Sudoku数独:思维、数学、搜索、深度优先遍历DFS;
- 名字的漂亮度:字符串、排序、STL;
- 截取字符串:字符串;
- 空
- 从单向链表中删除指定值的节点:链表;
- 多线程:多线程、锁;
- 四则运算:字符串、数学、栈;
- 输出单向链表中倒数第k个结点:链表、查找;
- 计算字符串的距离:动态规划、字符串、图;
- 杨辉三角的变形:数学、字符串;
- 表达式求值:字符串、数学、栈;
- 挑7:数学、穷举;
- 完全数计算:数学、提速、数组;
- 高精度整数加法:字符串;
- 输入n个整数,输出其中最小的k个:数组、需求分析、排序;
- 找出字符串中第一个只出现一次的字符:字符串、STL;
- 查找组成一个偶数最接近的两个素数:查找、数学、穷举;
- 放苹果:递归、动态规划;
- 查找输入整数二进制中1的个数:位运算;
- DNA序列:字符串;
- MP3光标位置:数组、思维;
- 查找两个字符串a,b中的最长公共子串:字符串;
- 配置文件恢复:字符串、字典;
- 24点游戏算法:深度优先遍历DFS、搜索;
- 成绩排序:排序、STL;
- 矩阵乘法:数组;
- 矩阵乘法计算量估算:字符串、STL;
- 字符串通配符:字符串、动态规划、递归、表;
- 百钱买百鸡问题:查找、数学;
- 计算日期到天数转换:字符串、思维、字典;
- 参数解析:字符串;
- 公共子串计算:动态规划、STL;
- 尼科彻斯定理:数学;
- 火车进站:栈、递归;
- 空
- 空
- 整型数组合并:排序、数组;
- 字符串字符匹配:字符串;
- 将真分数分解为埃及分数:贪心算法、数学、搜索;
- 二维数组操作:思维、数组;
- 统计大写字母个数:字符串;
- 最长回文子串:字符串、穷举、回文;
- 求最大连续bit数:位运算;
- 密码强度等级:字符串;
- 扑克牌大小:字符串、字典、排序、链表、队列、栈;
- 24点运算:字符串、模拟、穷举、STL;
- 合法IP:字符串、链表、队列、栈;
- 走方格的方案数:字符串、递归;
- 在字符串中找出连续最长的数字串:字符串、STL;
- 数组分组:字符串、数组、递归;
- 记票统计:查找、STL;
- 人民币转换:字符串、思维、STL;
- 表示数字:字符串、STL;
- 记负均正:数组、思维;
- 自动售货系统:模拟、面向对象、字符串;
- 自守数:数学、查找、提速;
- 等差数列:数学;
- 对数组元素按照升序或降序进行排序:排序;
- 字符统计:字符串、排序、STL;
- Redraiment的走法:排序、动态规划;
- 空
- 记负均正II:数组、思维;
- 字符逆序:字符串;
- 求解立方根:数学、二分、牛顿迭代法;
- 求最小公倍数:数学、递归;
总结
好啦,总的就是这些内容了,特此分享给大家,如果内容帮助到你了,请给我一个三连哦~