![](https://img-blog.csdnimg.cn/20190927151124774.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
华为OD机考算法题
华为OD机考辅导算法题总结。
fromLiuGuan
不搞学习搞嘛?
展开
-
1、华为OD机试算法题——进制转换
Integer.parseInt(String s, int radix)方法可以将字符串转换为10进制的Integer类型对象,radix参数则是指给定字符串的对应进制。原创 2023-09-02 18:44:57 · 148 阅读 · 0 评论 -
2、华为OD机试算法题——两数之和
2. 在HashMap中,我们可以使用key-value的形式直接记录数组中当前数以及当前数的下标,所以使用HashMap来储存比使用二维数组要方便很多,因为最后我们要获取的是目标值的下标,遂将其下标作为value;3. 先便利目标数组,然后对当前值进行判断,若与当前值相加得目标值的数不在我们的map中,则在map中加入当前值;4. 题目的示例中说了返回数组中的数字要排序,所以使用 Arrays.sort(arr) 方法进行排序再返回。1. 题目说找出两个数,所以先创建一个长度为2的arr数组;原创 2023-09-02 19:24:59 · 85 阅读 · 0 评论 -
3、华为OD机试算法题——明明的随机数
1. 大家所熟悉的Set的特性就是无序、不可重复,而Set中的TreeSet,就是有序不可重复的,所以我们直接选用TreeSet处理此题,答案也就迎刃而解;2. 直接获取所输入参数的个数,将值存入TreeSet中就行了。原创 2023-09-02 19:44:04 · 84 阅读 · 0 评论 -
4、华为OD机试算法题——字符个数统计
此方法是Collections类中的方法,参数c是要将元素储存到的集合,elements参数是所要存入集合的参数。1. 大家所熟悉的Set的特性就是无序、不可重复,而Set中的TreeSet,就是有序不可重复的,所以我们直接选用TreeSet处理此题,答案也就迎刃而解;原创 2023-09-02 19:56:38 · 68 阅读 · 0 评论 -
5、华为OD机试算法题——跳台阶
所以f[n] = f[n-1] + f[n-2]. 那么初始条件了,f[0] = f[1] = 1。所以就变成了:f[n] = f[n-1] + f[n-2], 初始值f[0]=1, f[1]=1,目标求f[n] 看到公式很亲切,代码秒秒钟写完。如果我从第n个台阶进行下台阶,下一步有2中可能,一种走到第 n-1 个台阶,一种是走到第 n-2个 台阶。通过图会发现,上述方法中,存在很多重复计算,因为为了改进,就把计算过的保存下来。此代码优点,代码简单好写,缺点:慢,会超时。原创 2023-09-02 20:34:44 · 107 阅读 · 0 评论 -
6、华为OD机试算法题——坐标移动
2. 遍历所有操作字符串s,使用正则表达式判断 s 是否有效;1. 首先将输入字符串切分开,获得单个的每一步操作字符串;3. 根据wasd判断操作方向;原创 2023-09-06 19:19:59 · 121 阅读 · 1 评论 -
7、华为OD机试算法题——密码验证合格程序
2. 然后我们创建 getMatch(String str) 方法,创建四个flag标识符,用来标注字符串中是否含有数字、大小写字母、其他符号,因为我们上面已经判断过是否有空格了,所以这里直接使用非大小写字母、数字的正则就行了;3. 创建 getString(String str, int l, int r) 方法判断是否有重复字符串,因为题中说到:不能有长度大于 2 的包含公共元素的子串重复。1. 首先我们判断密码长度,后面说不能包含空格,这里可以一同判断了;原创 2023-09-06 20:09:21 · 98 阅读 · 1 评论 -
8、华为OD机试算法题——删除字符串中出现次数最少的字符
2. Map.getOrDefault(Object key, V defaultValue) 方法中,key 表示获取 map 中 key 对应的 value ,如果对应的值为空,则获取默认值 defaultValue;3. map.values() 方法将 map 中的所有 value 变成一个集合,然后使用 Collections 中的 min 方法,获取最小值,再根据这个最小值去删除对应字符。原创 2023-09-07 17:29:08 · 53 阅读 · 0 评论 -
9、华为OD机试算法题——整数与IP地址间的转换
1. 这种进制转换我们只需要记住XXXX.parseXXXX(string, "进制数") 方法就行了,这个方法可以将其他进制的数字转化为十进制,Integer 和 Long 中的 toBinaryString 方法都可以将其参数转化为二进制数字;2. 然后最后一个 String.join() 方法,在数组中添加所给元素。原创 2023-09-07 18:17:41 · 79 阅读 · 0 评论 -
10、华为OD机试算法题——输入整型数组和排序标识
2. Collections.reverse(list) 将list中值的顺序反转。1. Collections.sort(list) 方法,将list排序;原创 2023-09-07 18:29:37 · 81 阅读 · 0 评论 -
11、华为OD机试算法题——所有元音按顺序排布的最长子字符串
【代码】11、华为OD机试算法题——所有元音按顺序排布的最长子字符串。原创 2023-09-07 19:10:10 · 59 阅读 · 0 评论 -
12、华为OD机试算法题——字符串匹配KMP算法
说到文本串和模板串匹配的情况,我们首先采用BF算法,也就是直接使用蛮力,一个一个比对。原创 2023-09-19 16:18:04 · 117 阅读 · 0 评论 -
13、华为OD机试算法题——把字符串转换成整数
【代码】13、华为OD机试算法题——把字符串转换成整数。原创 2023-10-14 21:39:56 · 59 阅读 · 0 评论 -
14、华为OD机试算法题——合并表记录
【代码】14、华为OD机试算法题——合并表记录。原创 2023-10-14 22:06:43 · 59 阅读 · 0 评论 -
15、华为OD机试算法题——查找兄弟单词
【代码】15、华为OD机试算法题——查找兄弟单词。原创 2023-10-15 16:24:47 · 111 阅读 · 0 评论