牛客网-华为机试刷题(一)

本文总结了在牛客网进行华为机试时遇到的Python编程技巧与常见问题解决方法,包括字符串操作、ASCII码转换、集合与列表处理、进制转换、质因数计算、四舍五入技巧、排序与映射函数的使用。

写此博客是为了记录自己在牛客网刷题华为机试的一些小问题,每一道题都会或多或少忘掉很多细节,找工作不易:

一,对于python中的字符串输入,可以写成S=input(),也可以写成S=input(''),加str没啥必要,但是我基础太差,加上了之后才知道。

二,ord是将字符转换成它对应的ASCII码的函数,abs函数是求绝对值,这个可以直接用,不需要调用math包。

三,set()函数是将列表变成集合的函数,用于取消重复的元素,列表排序直接用sort()方法。

四,字符串可以直接切片赋值,字符串的拼接删除都是一个道理。

五,进制转换函数,10进制转换成16进制使用hex()函数,16进制转换成10进制使用eval()函数。

六,对于求最小质因数题目要细心计算,尤其是更新变量的步骤。

七,四舍五入问题的一个新颖解答,直接加0.5取整。

八,map函数是将int类型和数值进行映射,也就是进行类型转换,对于字典按值排序问题,直接使用sorted(dict.keys())

九,次方求值使用**

 十,ord函数是求ASCII码的

  十一,列表逆序输出[::-1]

  十二,列表逆序输出[::-1]

  十三,对于元素值都是字符串的列表一样可以排序,使用sort()函数

 十四,将十进制转换成二进制函数,使用bin()函数

 

### 华为OD备考经验 对于准备参加华为OD的考生来说,合理的备考策略至关重要。有效的方法可以帮助提高解速度和准确性。 #### 系统的使用优势 利用在线华为OD系统可以带来诸多便利: - **调整难度**:可以根据个人水平选择不同难度级别的题目进行训练[^1]。 - **针对性强化弱点**:识别并专注于薄弱环节,特别是某些特定类型的算法问- **模拟真实考场景**:按照实际考中的分数分布来挑选相应分值的进行演练;还可以依据不同的卷类型来进行专项练习,以适应可能遇到的各种变化形式。 - **多语言支持**:能够在平台上自由切换编程语言编写程序,这有助于熟悉多种工具和技术栈。 - **即时反馈制**:提交解答后立即获得运行结果分析报告,包括正确与否以及执行效率等方面的评估指标,从而便于及时改进代码质量。 ```python def check_code_efficiency(code_snippet): """ A function to simulate checking the efficiency of a given code snippet. Args: code_snippet (str): The Python code as string input Returns: dict: Dictionary containing time and space complexity analysis results """ result = { 'time_complexity': analyze_time_complexity(code_snippet), 'space_complexity': analyze_space_complexity(code_snippet) } return result # Example usage sample_code = ''' for i in range(len(arr)): sum += arr[i] ''' efficiency_report = check_code_efficiency(sample_code) print(efficiency_report) ``` #### 推荐练习题目 为了更好地应对即将到来的考核,在日常学习过程中应当注重积累常见数据结构与算法的知识点,并尝解决些具有代表性的挑战性习。以下是几类值得重点关注的内容领域及其对应的样例问- **基础数据处理** - 数组/列表操作(如查找最大最小值) - 字符串匹配与转换 - **经典算法设计** - 动态规划求解背包问 - 图论最短路径计算 - **高级技巧应用** - 并查集实现连通图判定 - 各种排序算法的时间复杂度对比实验 具体而言,可以从以下几个方面入手寻找合适的练习资源: - 官方提供的OJ平台上的历史真集合[^3]; - LeetCode、牛客网等第三方网站上标记为“高频面”的专板块[^2]。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值