华为2019笔试编程题解析:字符串转换与背包问题
需积分: 49 160 浏览量
更新于2024-09-07
15
收藏 4KB TXT 举报
"华为2019笔试题编程题"
这篇资源主要包含两道华为2019年笔试中的编程题目,一道是字符串大小写转换,另一道是经典的背包问题。
第一题是关于字符串的大小写转换。题目要求编写一个程序,输入任意字符串,将其中的小写字母转为大写,大写字母转为小写,其他非字母字符保持不变。题目给出的Java代码实现中,首先通过`Scanner`类读取用户输入的字符串,然后调用`changeStr`方法进行处理。在`changeStr`方法里,将字符串转换为字符数组,利用`toUpperCase()`函数将所有字符转为大写,然后遍历字符数组,如果字符是小写字母,则将其加上'A'到'a'的差值(即'a'-'A'的ASCII码差);如果字符是大写字母,则减去相同的差值,这样实现了大小写的互换。最后,将处理后的字符数组转换回字符串并返回。
第二题是0/1背包问题的一个实例。题目描述了一个小偷需要在有限的背包容量下选择价值最高的物品。这是一道典型的动态规划问题。输入包括每件物品的价值数组、重量数组以及小偷的背包容量。输出是小偷可以偷到的最高总价值。Java代码实现中,首先通过`Scanner`类获取输入的数值,然后应该调用一个方法来解决背包问题。这个方法通常会使用二维数组来存储每个容量下的最大价值,并自底向上遍历所有可能的物品选择情况,最终返回背包容量达到最大价值的解。虽然代码不完整,但通常的解决方案会包含这样的逻辑。
这两题都是基础的算法题目,考察了编程基础和对常见算法的理解。对于准备华为或其他公司的笔试面试的求职者来说,这类问题的练习有助于提高解决问题的能力。大小写转换题体现了对字符串操作的掌握,而背包问题则涉及动态规划,是算法设计与分析的重要部分。
2009-03-30 上传
2009-03-14 上传
2023-08-03 上传
2020-09-19 上传
2020-08-31 上传
2009-02-25 上传
qq_2450394626
- 粉丝: 17
- 资源: 1
最新资源
- 我的毕业设计好的资源
- dwr.pdf中文文档
- 论文写作是作为科研写作的好东西
- XP+Embedded开发初体验.pdf
- C#完全手册.pdf 基本编程方法 面向对象编程基础 界面设计与文件存取 ADO.NET与数据操作 ASP网站开发
- 系统服务的详细设置已经服务选项的含义
- Delphi 6程序设计及其应用开发目录
- 关于图书馆的可行性分析
- 中国移动网优试题真是好啊
- ajax实战中文版pdf
- Spring+Hibernate+Struts2整合开发.docx
- 遥控键解码602LCD显示
- 存储过程实例oracle.doc
- Hibernate与Struts2和Spring组合开发.pdf
- verilog 实例
- C# 抽象工厂 Dao 详解