当前位置: 首页 > news >正文

华为OD机试(含B卷)真题2023 算法分类版,58道20个算法分类,如果距离机考时间不多了,就看这个吧,稳稳的

在这里插入图片描述

目录

    • 一、数据结构
      • 1、线性表
      • 2、优先队列
      • 3、滑动窗口
      • 4、二叉树
      • 5、并查集
      • 6、栈
    • 二、算法
      • 1、基础算法
      • 2、字符串
      • 3、图
      • 4、动态规划
      • 5、数学
    • 三、漫画算法2:小灰的算法进阶
      • 参与方式

很多小伙伴问我,华为OD机试算法题太多了,知识点繁杂,如何刷题更有效率呢?

我觉得可以按照“算法和数据结构”去刷,把华为OD机试涉及到的“算法和数据结构”列出来,一个算法刷10道题,那我岂不是无敌了?

首先,了解算法和数据结构有哪些知识点,在后面的刷题中有 大局观 。

下面是我花了一天时间整理的 算法和数据结构的知识结构,大家可以看看。

在这里插入图片描述
后面是为大家 精心挑选的华为OD机试题单,并根据题目知识点的类型分好了类别,大家可以根据每个知识点,进行有针对性的刷题。

一、数据结构

1、线性表

数组

华为OD机试真题 Java 实现【IPv4地址转换成整数】【2023 B卷 100分】

单指针

华为OD机试真题 Java 实现【阿里巴巴找黄金宝箱(I)】【2023 B卷 100分】,附详细解题思路

双指针

华为OD机试真题B卷 Java 实现【计算礼品发放的最小分组数目】,附详细解题思路

华为OD机试真题 Java 实现【非严格递增连续数字序列】【2022Q4 100分】

华为OD机试真题 Java 实现【太阳能板最大面积】【2022Q4 100分】,附详细解题思路

2、优先队列

华为OD机试真题 Java 实现【统一限载货物数最小值】【2023Q1 200分】

3、滑动窗口

华为OD机试真题 Java 实现【最大花费金额】【2023Q1 100分】

华为OD机试真题 Java 实现【计算最接近的数】【2023 B卷 100分】,附详细解题思路

华为OD机试真题 Java 实现【高矮个子排队】【2023Q2 100分】,附详细解题思路

华为OD机试真题 Java 实现【关联子串】【2023Q1 100分】,附详细解题思路

华为OD机试真题 Java 实现【最差产品奖】【2023Q1 200分】

4、二叉树

1、华为OD机试真题 Java 实现【二维伞的雨滴效应】【2023 B卷 100分】,附详细解题思路

5、并查集

华为OD机试真题 Java 实现【开心消消乐】【2023 B卷 100分】

6、栈

华为OD机试真题 Java 实现【分奖金】【2022Q4 100分】

二、算法

1、基础算法

(1)贪心算法

华为OD机试真题 Java 实现【数字序列比大小】【2023 B卷 100分】,田忌赛马,永远比你大,你服不服?

华为OD机试真题 Java 实现【租车骑绿道】【2023Q1 100分】

华为OD机试真题 Java 实现【最短木板长度】【2022Q4 100分】,附详细解题思路

华为OD机试真题 Java 实现【贪心的商人】【2023Q1 100分】

(2)二分算法

1、华为OD机试真题 Java 实现【食堂供餐】【2023 B卷 考生抽中题】,附详细解题思路

华为OD机试真题 Java 实现【生日礼物】【2023 B卷 100分】,附详细解题思路

华为OD机试真题 Java 实现【服务中心选址】【2023Q1 100分 】

华为OD机试真题 Java 实现【不爱施肥的小布】【2023Q1 100分】

(3)分治递归

华为OD机试真题 Java 实现【评论转换输出】【2023 B卷 100分】,附详细解题思路

华为OD机试真题 Java 实现【猴子爬山】【2023 B卷 100分】,附详细解题思路

华为OD机试真题 Java 实现【符合要求的元组的个数】【2023 B卷 100分】,附详细解题思路

华为OD机试真题 Java 实现【跳房子II】【2023 B卷 100分】,附详细解题思路

华为OD机试真题 Java 实现【分糖果】【2022Q2 200分】,附详细解题思路

华为OD机试真题 Java 实现【微服务的集成测试】【2023Q1 100分】

(4)搜索算法

回溯法(宽度优选算法)

华为OD机试真题 Java 实现【符合要求的元组的个数】【2023 B卷 100分】,附详细解题思路

华为OD机试真题 Java 实现【最多几个直角三角形】【2023Q1 100分】

华为OD机试真题 Java 实现【红黑图】【2023Q1 200分】,附详细解题思路

华为OD机试真题 Java 实现【硬件产品销售方案】【2023Q1 200分】

(5)排序算法

华为OD机试真题 Java 实现【比赛的冠亚季军】【2023 B卷 100分】,附详细解题思路

华为OD机试真题 Java 实现【拔河比赛】【2023 B卷 100分】,附详细解题思路

2、字符串

(1)KMP

华为OD机试真题 Java 实现【最小循环子数组】【2023 B卷 100分】,附详细解题思路

(2)字符串处理

华为OD机试真题B卷 Java 实现【报文重排序】,附详细解题思路

华为OD机试真题 Java 实现【相对开音节】【2022Q4 100分】,附详细解题思路

3、图

(1)图的遍历

深度优先搜索

华为OD机试真题 Java 实现【文件目录大小】【2023 B卷 100分】,附详细解题思路

华为OD机试真题 Java 实现【战场索敌】【2023 B卷 100分】,深度优先搜索dfs算法,这眼花缭乱的,你这是“战场索鬼”吧?

华为OD机试真题 Java 实现【宜居星球改造计划】【2023 Q2 200分】,附详细解题思路

华为OD机试真题 Java 实现【猜密码】【牛客练习题】,附详细解题思路

华为OD机试真题 Java 实现【查找单入口空闲区域】【2022 Q4 100分】,附详细解题思路

广度优先搜索

华为OD机试真题 Java 实现【矩阵中非1的元素个数】【2023 B卷 200分】,附详细解题思路

华为OD机试真题 Java 实现【计算网络信号】【2023Q2 200分】

(2)最短路

迪杰斯特拉Dijkstra

华为OD机试真题 Java 实现【最小传输时延】【2023 B卷 100分】,附详细解题思路

(3)拓扑排序

华为OD机试真题 Java 实现【快速开租建站】【2023Q1 200分】,附详细解题思路

4、动态规划

(1)基础dp

华为OD机试真题 Java 实现【MELON的难题】【2023 B卷 100分】,采用动态规划算法,附详细解题思路

华为OD机试真题 Java 实现【跳格子2】【2023 B卷 100分】,附详细解题思路

华为OD机试真题 Java 实现【字符串加密】【2023Q1 100分】,附详细解题思路

华为OD机试真题 Java 实现【数列描述】【2023 B卷 100分】,附详细解题思路

华为OD机试真题 Java 实现【玩牌高手】【2023 B卷 100分】,附详细解题思路

华为OD机试真题 Java 实现【字符匹配】【2023 B卷 100分】,附详细解题思路

华为OD机试真题 Java 实现【不含101的数】【2023Q2 200分】

华为OD机试真题 Java 实现【查找重复代码】【2023Q1 100分】

华为OD机试真题 Java 实现【递增字符串】【2023Q1 200分】,附详细解题思路

(2)背包dp

华为OD机试真题 JavaScript 实现【最多获得的短信条数】【2023Q1 100分】,附详细解题思路

5、数学

华为OD机试真题 Java 实现【数据分类】【2023 B卷 100分】,附详细解题思路

华为OD机试真题 Java 实现【经典屏保】【2023 B卷 100分】,附详细解题思路

三、漫画算法2:小灰的算法进阶

本书是《漫画算法:小灰的算法之旅》的续作,通过主人公小灰的心路历程,用漫画的形式讲述了多个数据结构、算法及复杂多变的算法面试题目。

  • 第1章介绍了几种典型的排序算法,包括选择排序、插入排序、希尔排序、归并排序、基数排序。
  • 第2章介绍了“树”结构的高级应用,包括二叉查找树、AVL树、红黑树、B树和B+树。
  • 第3章介绍了“图”结构的概念,以及深度优先遍历、广度优先遍历、单源最短路径、多源最短路径算法。
  • 第4章介绍了“查找”相关的算法和数据结构,包括二分查找算法、RK算法、KMP算法,以及“跳表”这种用于高效查找的数据结构。
  • 第5章介绍了多种职场上流行的算法面试题目及详细的解题思路,例如螺旋遍历二维数组、寻找数组中第k大元素、求股票交易的更大收益等。

参与方式

图书数量:本次送出 4 本 !!!⭐️⭐️⭐️⭐️
活动时间:截止到 2023-08-11 12:00:00

🏆抽奖方式:

  1. 根据文章内容进行高质量评论
  2. 留言中随机抽取4位小伙伴

🏆哪吒会在本文留言区置顶公布中奖名单
名单公布时间:2023-08-11 13点

在这里插入图片描述

相关文章:

华为OD机试(含B卷)真题2023 算法分类版,58道20个算法分类,如果距离机考时间不多了,就看这个吧,稳稳的

目录 一、数据结构1、线性表2、优先队列3、滑动窗口4、二叉树5、并查集6、栈 二、算法1、基础算法2、字符串3、图4、动态规划5、数学 三、漫画算法2:小灰的算法进阶参与方式 很多小伙伴问我,华为OD机试算法题太多了,知识点繁杂,如…...

JMeter命令行执行+生成HTML报告

1、为什么用命令行模式 使用GUI方式启动jmeter,运行线程较多的测试时,会造成内存和CPU的大量消耗,导致客户机卡死; 所以一般采用的方式是在GUI模式下调整测试脚本,再用命令行模式执行; 命令行方式支持在…...

学习Boost二:从附录3来看编码习惯

附录C 关键字浅谈 在C11标准中(C11.2.12)总共定义了73个关键字(keyword)、2个“准”关键字(identifiers with special meaning)和11个操作符替代字(alternative representation)[1]。…...

STM32基础入门学习笔记:核心板 电路原理与驱动编程

文章目录: 一:LED灯操作 1.LED灯的点亮和熄灭 延迟闪烁 main.c led.c led.h BitAction枚举 2.LED呼吸灯(灯的强弱交替变化) main.c delay.c 3.按键控制LED灯 key.h key.c main.c 二:FLASH读写程序(有…...

最后一次模拟考试题解

哦我想这不用看都知道是为了水任务 T1 黑白染色 其实这题有原 什么手写体 md (指 markdown) 分析 首先这题如果你题目没看错的话 ,会发现其实他是 n m n \times m nm 让你求 n n n \times n nn 的区域内的点(不会只有我一个人题目看错了罢 然后我们会发现…...

Mac 创建和删除 Automator 工作流程,设置 Terminal 快捷键

1. 创建 Automator 流程 本文以创建一个快捷键启动 Terminal 的自动操作为示例。 点击打开 自动操作; 点击 新建文稿 点击 快速操作 选择 运行 AppleScript 填入以下内容 保存名为 “Open Terminal” 打开 设置 > 键盘,选择 键盘快捷键 以此选择 服…...

2023华为OD机试真题B卷 Java 实现【最长的元音串】

前言 本题使用Java解答,如果需要Python代码,链接 题目 给定一个只由英文字母(a-z, A-Z)组成的字符串,找出其中最长的只包含元音字母(a, e, i, o, u, A, E, I, O, U)的子串,并返回其长度。如果不存在元音子串,则返回0。 输入: 一个由英文字母组成的字符串,长度大…...

网络防御之传输安全

1.什么是数据认证,有什么作用,有哪些实现的技术手段? 数据认证是一种权威的电子文档 作用:它能保证数据的完整性、可靠性、真实性 技术手段有数字签名、加密算法、哈希函数等 2.什么是身份认证,有什么作用,有哪些…...

【css】组合器

组合器是解释选择器之间关系的某种机制。在简单选择器器之间,可以包含一个组合器,从而实现简单选择器难以达到的效果。 CSS 中有四种组合器: 后代选择器 (空格):匹配属于指定元素后代的所有元素,示例:div …...

HTTPS、TLS加密传输

HTTPS、TLS加密传输 HTTPS、TLS加密传输1、HTTPS(HyperText Transfer Protocol Secure)2、TLS HTTPS、TLS加密传输 1、HTTPS(HyperText Transfer Protocol Secure) HTTPS(HyperText Transfer Protocol Secure&#x…...

docker frp 搭建 http + stcp 代理

所需服务器 2台 一台具有国外公网ip 一台具有国内 ip 内网外网都可以 外公网ip服务器配置如下 cat docker-compose.yamlversion: "2" services:frps:image: alpine:latesthostname: frpsrestart: alwayscontainer_name: frpsprivileged: trueuser: rootcommand: […...

项目出bug,找不到bug,如何拉回之前的版本

1.用gitee如何拉取代码 本文为转载于「闪耀太阳a」的原创文章原文链接:https://blog.csdn.net/Gufang617/article/details/119929145 怎么从gitee上拉取代码 1.首先找到gitee上想要拉取得代码URL地址 点击复制这里的https地址 1 ps:(另外一种方法&…...

vue-cli

vue-cli脚手架 案例一: 案例二: 案例三: ​ 一、脚手架简介 Vue脚手架是Vue官方提供的标准化开发工具(开发平台),它提供命令行和UI界面,方便创建vue工程、配置第三方依赖、编译vue工程 1. …...

android获取屏幕分辨率的正确方法;获取到分辨率(垂直方向像素)的不正确

我通过下面的方法去获取屏幕分辨率的,但获取到的分辨率有时会不准确。原因是此方法有时候会忽略一些布局或控件的高度,从而得不到正确的高度。 public static String getDeviceResolution(Context context){//从系统服务中获取窗口管理器WindowManager w…...

机器学习笔记之优化算法(八)简单认识Wolfe Condition的收敛性证明

机器学习笔记之优化算法——简单认识Wolfe Condition收敛性证明 引言回顾: Wolfe \text{Wolfe} Wolfe准则准备工作推导条件介绍推导结论介绍 关于 Wolfe \text{Wolfe} Wolfe准则收敛性证明的推导过程 引言 上一节介绍了非精确搜索方法—— Wolfe \text{Wolfe} Wolf…...

通过win+r安装jupyter报错

通过pip install jupyter安装jupyter报错处理办法 1、python 更新到最新版,最好多执行几次后在安装jupyter python.exe -m pip install --upgrade pip 2、通过镜像安装 pip install jupyter --force-reinstall pip -i http://pypi.douban.com/simple/ --trusted-h…...

C#声明一个带返回值的委托

1、声明 public delegate string TestDel(string str); 2、使用 TestDel t; t (string str) > str; t (string str) > str "1"; t (string str) > str "2"; t (string str) > str "3"; Console.WriteLine(t ("hhhh&qu…...

Flutter 自定义view

带进度动画的圆环。没gif,效果大家自行脑补。 继承CustomPainter,paint()方法中拿到canvas,绘制API和android差不多。 import package:flutter/material.dart;class ProgressRingPainter extends CustomPainter {double strokeWidth 20;Col…...

Ubuntu新装系统报错:sudo: vim:找不到命令

问题: 新安装的老版本Ubuntu系统,发现在使用vim命令的时候报错: sudo:vim:找不到命令 解决办法 这是因为没有安装vim,直接运行下面命令安装vim sudo apt-get install vim...

Vue3自定义简单的Swiper滑动组件-触控板滑动鼠标滑动左右箭头滑动-demo

代码实现了一个基本的滑动功能,通过鼠标按下、鼠标松开和鼠标移动事件来监听滑动操作。 具体实现逻辑如下: 在 onMounted 钩子函数中,我们为滚动容器添加了三个事件监听器:mousedown 事件:当鼠标按下时,设置…...

Java 语言特性(面试系列2)

一、SQL 基础 1. 复杂查询 (1)连接查询(JOIN) 内连接(INNER JOIN):返回两表匹配的记录。 SELECT e.name, d.dept_name FROM employees e INNER JOIN departments d ON e.dept_id d.dept_id; 左…...

Spark 之 入门讲解详细版(1)

1、简介 1.1 Spark简介 Spark是加州大学伯克利分校AMP实验室(Algorithms, Machines, and People Lab)开发通用内存并行计算框架。Spark在2013年6月进入Apache成为孵化项目,8个月后成为Apache顶级项目,速度之快足见过人之处&…...

ubuntu搭建nfs服务centos挂载访问

在Ubuntu上设置NFS服务器 在Ubuntu上,你可以使用apt包管理器来安装NFS服务器。打开终端并运行: sudo apt update sudo apt install nfs-kernel-server创建共享目录 创建一个目录用于共享,例如/shared: sudo mkdir /shared sud…...

树莓派超全系列教程文档--(62)使用rpicam-app通过网络流式传输视频

使用rpicam-app通过网络流式传输视频 使用 rpicam-app 通过网络流式传输视频UDPTCPRTSPlibavGStreamerRTPlibcamerasrc GStreamer 元素 文章来源: http://raspberry.dns8844.cn/documentation 原文网址 使用 rpicam-app 通过网络流式传输视频 本节介绍来自 rpica…...

Golang dig框架与GraphQL的完美结合

将 Go 的 Dig 依赖注入框架与 GraphQL 结合使用,可以显著提升应用程序的可维护性、可测试性以及灵活性。 Dig 是一个强大的依赖注入容器,能够帮助开发者更好地管理复杂的依赖关系,而 GraphQL 则是一种用于 API 的查询语言,能够提…...

音视频——I2S 协议详解

I2S 协议详解 I2S (Inter-IC Sound) 协议是一种串行总线协议,专门用于在数字音频设备之间传输数字音频数据。它由飞利浦(Philips)公司开发,以其简单、高效和广泛的兼容性而闻名。 1. 信号线 I2S 协议通常使用三根或四根信号线&a…...

python爬虫——气象数据爬取

一、导入库与全局配置 python 运行 import json import datetime import time import requests from sqlalchemy import create_engine import csv import pandas as pd作用: 引入数据解析、网络请求、时间处理、数据库操作等所需库。requests:发送 …...

AD学习(3)

1 PCB封装元素组成及简单的PCB封装创建 封装的组成部分: (1)PCB焊盘:表层的铜 ,top层的铜 (2)管脚序号:用来关联原理图中的管脚的序号,原理图的序号需要和PCB封装一一…...

【iOS】 Block再学习

iOS Block再学习 文章目录 iOS Block再学习前言Block的三种类型__ NSGlobalBlock____ NSMallocBlock____ NSStackBlock__小结 Block底层分析Block的结构捕获自由变量捕获全局(静态)变量捕获静态变量__block修饰符forwarding指针 Block的copy时机block作为函数返回值将block赋给…...

Selenium 查找页面元素的方式

Selenium 查找页面元素的方式 Selenium 提供了多种方法来查找网页中的元素,以下是主要的定位方式: 基本定位方式 通过ID定位 driver.find_element(By.ID, "element_id")通过Name定位 driver.find_element(By.NAME, "element_name"…...