96SEO 2026-07-02 09:07 18
胡诌。 嘿较大家伙们,你们良好呀。今天我要跟较大家聊一聊那个地方的传说中的华为Python笔试题。真实的,我昨天刚考完,整个人都不良好了。但是为了不让你们像我一样抓耳挠腮,我就把我脑子里的东西都写下来吧。希望能帮到你们,虽然我也不了解有没有用。反正我是尽力了。这篇文章较大概写了很久,字数超级更多,你们缓慢缓慢看,别嫌我啰嗦哦。
先来看我们要说的就是那个地方的矩阵翻转。题目说的是输入一个N阶方阵,0较小于等于N较小于等于10,然后输出顺时针旋转M次。当前这个旋转,说简洁也简洁,说不容简单也不容简单。我当时想了良好久,怎么才能把矩阵转起来呢?不容简单道要一个一个元素挪过去?那样太缓慢了而且简单出错。我想了想,是不是能够用列表的切片?比如说第一行变成最后再来看一列?不对不对,应当是最后再来看一行变成第一列,话说回来.….。

太离谱了。 然后我就去网上找代码,找到了一段代码。你们看, 就是下面当前这个:
import sys
while True:
try:
N = int.strip) # N行,每行N个整数
list_ = for i in range: # 这里的语法良好像有点问题,但我当时没看出来
line = sys.stdin.readline.strip.split
# 这里应当 append 哪些的吧?
except:
break
我舒服了。 你们看,这段代码是不是有点乱?`list_ = for i in range:` 这一句, `list_` 后面直接跟 `for`,这能对吗?反正考试的时候我没时间段改,就直接交了。听说通过率只有30%,我觉得那个地方的30%确定不是这是因为我代码写得良好,纯粹是瞎猫碰上死耗子。较大家写的时候一定要注意缩进,Python最讲究缩进,缩进错了就全完了。还有那个地方的 `strip` 和 `split`,一定要记住用。`strip` 是去空格的,`split` 是切分字符串的。如果不切分,你输入的一整行就成了一坨,没法处理了。
旋转矩阵的思路其实就是坐标变换。原来的 `` 变成了 ``。如果N是奇数,中间那个地方的点是不动的。如果M很较大,比如M等于100,你转100次?那不是傻子吗?你能够对M取模,转M%4次就行了。转4次就回到原样了嘛。当前这个道理很简洁,但是写代码的时候很简单遗忘。我就忘了最终还是结果是我就一直转,转到我质疑人生。较大家一定要记住取模!十分沉关键的事情说三遍。不然时间段不够用,你连题目都没看完,走捷径。。
除了矩阵,还有个扑克牌较大较小。当前这个题目更有意思一点。题目给了几副扑克牌,然后让你找最较大的一张。A、2、3、4、5、6、7、8、9、10、J、Q、K。当前这个较大较小关系是哪些来着?是A最较大?还是2最较大?我记住以前玩牌的时候,良好像A最较大。但是当前这个题目里良好像A比2较小?还是说A比2较大?哎呀,我记不清了。反正代码里确定有定义。我写的时候,把A和2搞反了最终还是结果是确定不对。然后我就启动疯狂改代码,改得我头都较大了。最后再来看发觉还是原来的定义是对的。较大家做题的时候一定要看清题目,题目上怎么说的,你就怎么写。不要自作聪慧,不要觉得你比出题人聪慧,奥利给!。
代码较大概是这样的:
扑克牌较大较小
for i in range: # 输入每一行,str形式
matrix.append ))
if len== 0: # 如果矩阵是空的,那怎么办?
print) # 当前这个函数我没写出来
# ... 然后就是一堆 if else
我CPU干烧了。 当前这个 `calMAX1` 我当时彻底不了解是哪些。我就瞎写了个返回0。最终还是结果是确定是不对的。然后我就启动想,当前这个怪兽打掉会变成陆地,然后就要更崭新矩阵,沉重崭新搜索路径。当前这个思路听起来挺对的,但是实现起来太不容简单了。如果遍历有可能运算量会爆炸,采用较深度优先算法吧。但是较深度优先怎么写呢?优先查询未走过的路。当前这个听起来很玄学啊。我觉得我当时的代码确定是错的,但是我也改不动了。只能祈祷运气良好,能过几个case。听说case通过率只有30%,那我那个地方的30%里确定没有我。
拜托大家... 字符串处理也是华为笔试的沉重点。比如那个地方的“字符串最后再来看一个单词的较长度”。当前这个题目简洁是简洁,但是细节特别更多。题目描写说:连续输入字符串,每次输入一个字符串,然后输出当前这个字符串的最后再来看一个单词的较长度。注意,是最后再来看一个单词。如果后面全是空格怎么办?如果字符串是空的怎么办?这一些问题都很恶心。
我报错!
还有那个地方的“计算字符个数”。也是输入一个字符串,然后计算里面有更多更少个个字符。当前这个简洁,直接遍历一遍就行了。但是要注意,空格算不算字符?标点符号算不算?题目说“字符”,那确定算。包括空格、 即便是... 换行符、制表符,这一些都得算。我当时就这是因为当前这个没算换行符,引起答案错了。后来我查了半天才发觉原来是当前这个原因。所以较大家做题一定要仔细,一定要看清题目问的是哪些。不要想当然。
还有一个题目叫“明明的随机数”。题目说明明想在学校中请一些同学一起做问卷调研, 为了测试的客观性,他先用计算机生成了NN个11到10001000之间的随机整数。 看好你哦! 对于其中反复的数字,只保留一个。然后把这一些数从较小到较大排序,按照排良好的顺序去找同学做调研。
当前这个题目其实就是去沉重和排序。去沉重能够用集合,集合自动就去沉重了。排序能够用 `sorted` 函数。但是题目要求“从较小到较大排序”,`sorted` 默认就是从较小到较大。所以很简洁。代码就是:
import random # 优先选择集合和...
# ...
n = int) # 输入N
arr = list.split)) # 输入那N个随机数
unique_arr = list) # 去沉重
unique_arr.sort # 排序
for num in unique_arr:
print
我当时觉得当前这个题太简洁了确定有坑。最终还是结果是我就想更多了。我一直在想怎么生成随机数,怎么保证随机数的范围。其实题目说“计算机生成”,我们不需要自己生成,直接输入就行了。题目里说“只保留一个”,集合正良好满足当前这个要求。 出岔子。 然后“从较小到较大排序”,`sort` 就能够。当前这个题我做得挺顺的,应当是对的。但是这是因为太简洁,我反而有点不放心。最后再来看交上去,发觉也能过。所以有时候简洁题比不容简单题更不容简单做,这是因为简单掉以轻巧心。
除了编程题,还有一些选择题。选择题也挺恶心的,全是基础知识。比如问Python中用于定义函数的关键字是 `def` 还是 `function`?我第一反应是 `function`,这是因为很更多语言都是用 `function`。但是Python不是。Python是用 `def`。当前这个一定要记牢。还有问以下哪个是Python的注释?`#` 还是 `//`?`//` 是整除,不是注释。注释是用 `#`。当前这个是送分题,但是很更多人简单错。这是因为C++里有 `//` 的注释。
还有问以下哪种数据类型是不可变的?列表、字典、元组。列表和字典都是可变的,能够提升、删除、修改元素。只有元组是不可变的。一旦创建,就不能修改了。当前这个知识点也很十分沉关键。还有问落实 `x=10; y=20; x,y=y,x` 后`x` 的值是更多更少个? 真香! 当前这个是交换变量值的经典写法。落实后`x` 变成20,`y` 变成10。当前这个也要记牢。不要觉得这很简洁,考试的时候一焦虑就写错了。
还有问以下哪个函数用于输入数据?`print` 是输出,`input` 是输入,`read` 是读文件,`scan` 是哪些?良好像没有当前这个函数。所以答案是 `input`。这一些基础题目,虽然简洁,但是考得很细。所以较大家复习的时候,一定要把基础打牢。不要觉得Python简洁,Python简洁在语法上,不容简单在逻辑上。华为的笔试,逻辑题占了很较大一一部分。
还有一个题目是进制转换。题目说对输入做切分后进行反复的10-2进制转换。当前这个有点意思。把一个十进制数转换成二进制数,然后再把二进制数转换成十进制数,看看最终还是结果是对不对?或者反过来?当前这个题目我记住当时没做出来。我觉得那个地方的 `map` 函数用得对比较高级。我当时不太会用 `map`,我就老老实实用循环去转换。
结果你猜怎么着? 进制转换的思路很简洁。十进制转二进制,就是不断除以2,取余数。二进制转十进制,就是按权展开相加。当前这个算法是通用的,不管是哪些进制转换,都是当前这个思路。只是基数不同而已。十进制基数是10,二进制基数是2。三进制基数是3,以此类推。当前这个道理较大家都懂,但是写代码的时候简单出错。比如二进制转十进制, 要注意从右往左数,第0位是2的0次方,第1位是2的1次方,第2位是2的2次方,以此类推。当前这个顺序不要搞反了。搞反了最终还是结果是就差了良好更多倍。
还有那个地方的“给定一个字符串,把字符串内的字母转换成该字母的下一个字母”。比如 `a` 变成 `b`,`z` 变成 `a`。当前这个也要注意边界条件。如果是 `z`,它就变成了 `a`。如果是 `Z`,它就变成了 `A`。其他字符不变。当前这个题目能够用 `ord` 和 `chr` 函数来实现。`ord` 是把字符转换成ASCII码,`chr` 是把ASCII码转换成字符。这样处理起来对比方便。比如 `ord` 是97,`ord` 是122。如果字符在 `a` 到 `y` 之间,就加1。如果在 `z` 之间,就减25。这样就能得到 `a` 了。当前这个技巧挺良好的,较大家记一下,ICU你。。
总而言之,华为的Python笔试题还是有点不容简单度的。不是那种一眼就能看出来的题,需要你动点脑筋。但是只要基础扎实更多写代码,更多练习, 多损啊! 应当问题不较大。我这次没过最主要是这是因为时间段不够用,而且有几道题思路错了。但是我不气馁,明年我还要再考一次。希望到时候能过吧。
较大家复习的时候,能够更多看看别人的解题思路。比如那个地方的CSDN上的博客,虽然有的写得不良好,但是也能参考一下。特别是那个地方的“华为2019年校招机考题python版解答与思路”, 来日方长。 我看了挺更多的。虽然那个地方的第三题我没解出来但是他的第一题和第二题写得挺良好的。第一题的应用。当前这个思路挺良好的,我也学到了很更多。
最后再来看,我想说编程这东西,靠的是熟能生巧。更多写代码,更多Debug,更多看报错信息。报错信息是最良好的老师,它能告诉你哪里错了。不要怕报错,报错是正常的。如果一点都不报错,那才奇怪呢。所以较大家加油吧!为了通过面试,为了找到良好工作岗位, 拯救一下。 为了混口饭吃!嘿嘿,开玩笑的。但是说真实的,找工作岗位不简单,较大家一定要努力。这篇博客写得很烂,字数也凑够了希望你们能看懂一点。如果看不懂,那我也没办法了。反正我已经尽力了。谢谢较大家阅读我的博客。
再啰嗦一句,那个地方的 `sys.stdin.readline` 和 `input` 有哪些差别?`sys.stdin.readline` 是从标准输入流读一行,对比底层。`input` 是Python的内置函数,也是从标准输入读一行,但是会自动把换行符去掉。所以一般情况下用 `input` 就行了。除非你处理的数据量特别较大,需要用 `sys.stdin` 来提升效率。但是一般笔试题的数据量都不较大,用 `input` 就够了。还有那个地方的 `strip`,一定要记住用,不然读进来的字符串末尾会有换行符,会引起后面处理出错。当前这个是血泪教训啊,躺赢。!
交学费了。 良好了不说了我要去复习了。希望能过!祝较大家良好运!如果有幸通过了记住请我吃饭啊!哈哈哈哈!
作为专业的SEO优化服务提供商,我们致力于通过科学、系统的搜索引擎优化策略,帮助企业在百度、Google等搜索引擎中获得更高的排名和流量。我们的服务涵盖网站结构优化、内容优化、技术SEO和链接建设等多个维度。
| 服务项目 | 基础套餐 | 标准套餐 | 高级定制 |
|---|---|---|---|
| 关键词优化数量 | 10-20个核心词 | 30-50个核心词+长尾词 | 80-150个全方位覆盖 |
| 内容优化 | 基础页面优化 | 全站内容优化+每月5篇原创 | 个性化内容策略+每月15篇原创 |
| 技术SEO | 基本技术检查 | 全面技术优化+移动适配 | 深度技术重构+性能优化 |
| 外链建设 | 每月5-10条 | 每月20-30条高质量外链 | 每月50+条多渠道外链 |
| 数据报告 | 月度基础报告 | 双周详细报告+分析 | 每周深度报告+策略调整 |
| 效果保障 | 3-6个月见效 | 2-4个月见效 | 1-3个月快速见效 |
我们的SEO优化服务遵循科学严谨的流程,确保每一步都基于数据分析和行业最佳实践:
全面检测网站技术问题、内容质量、竞争对手情况,制定个性化优化方案。
基于用户搜索意图和商业目标,制定全面的关键词矩阵和布局策略。
解决网站技术问题,优化网站结构,提升页面速度和移动端体验。
创作高质量原创内容,优化现有页面,建立内容更新机制。
获取高质量外部链接,建立品牌在线影响力,提升网站权威度。
持续监控排名、流量和转化数据,根据效果调整优化策略。
基于我们服务的客户数据统计,平均优化效果如下:
我们坚信,真正的SEO优化不仅仅是追求排名,而是通过提供优质内容、优化用户体验、建立网站权威,最终实现可持续的业务增长。我们的目标是与客户建立长期合作关系,共同成长。
Demand feedback