日期:2025/04/01 06:38来源:未知 人气:56
金三银四,金九银十。当前正处于校招、社招的火热期,之前就想为正在筹备就业的同学们准备刷题宝典,但是因为最近工作项目压力较大,所以只能通过空闲时间完成一套题目的全套解析,也就是偏向基础的华为机试。
PDF 版 和 C++ 面 试 题 库 领 取 可以复制如下链接再打开,建议电脑打开,手机复制链接有可能复制不全****
https://docs.qq.com/doc/DV1hlc0x0dG1Mc21F
题目描述:
计算字符串最后一个单词的长度,单词以空格隔开,字符串长度小于5000。
输入描述:
输入一行,代表要计算的字符串,非空,长度小于5000。
输出描述:
输出一个整数,表示输入字符串最后一个单词的长度。
示例:
输入:hello nowcoder
输出:8
解题思路:
既然要输出最后一个单词,那就倒着来统计,一旦遇到空格则完成统计;若只有一个单词,还要加上判断是否完成了整个字符串的遍历,如果全遍历完都没碰到空格,那就只有一个单词。
测试代码:
include
include
using namespace std;
int main()
{
char s[5001];
// 获取字符串
cin.getline(s, 5001);
int number=0;
int snumber=strlen(s);
// 字符串倒序统计
for(int i=snumber-1;s[i]!=' ';--i)
{
number++;
// 若只有一个单词,需要判断下
if(i==0)
break;
}
cout<<number<<endl;
return 0;
}
题目描述:
写出一个程序,接受一个由字母、数字和空格组成的字符串,和一个字母,然后输出输入字符串中该字母的出现次数。不区分大小写,字符串长度小于500。
输入描述:
第一行输入一个由字母和数字以及空格组成的字符串,第二行输入一个字母。
输出描述:
输出输入字符串中含有该字符的个数。
示例:
输入:
ABCabc
A
输出:
2
解题思路:
输入一个字符串和字母,分析该字母在字符串中出现的次数,最简单的方法就是遍历一遍,在ASCII表里,大小写之间差了32,判断的时候除了判断字符本身,也判断该字符加减32的情况,就可以统计出出现次数,但这仅仅是基于字符串中只有字母数字和空格。
测试代码:
include
include
using namespace std;
int main()
{
// 输入字符串
string s;
getline(cin,s);
// 输入字符
char test;
cin>>test;
int number=0;
int size=s.length();
for(int i=0;i<size;i++)
{
// 考虑大小写情况
if(s[i]==test||s[i]==test-32||s[i]==test+32)
number++;
}
cout<<number<<endl;
return 0;
}
明明的随机数: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;
尼科彻斯定理:数学;
火车进站:栈、递归;
整型数组合并:排序、数组;
等等等等等等等等等等等等
建议电脑打开,手机复制链接有可能复制不全