
算法
文章平均质量分 88
数据结构算法
努力努力再努力呐
努力努力再努力
展开
-
华为OD机试真题---战场索敌
有一个大小是N×M的战场地图,被墙壁'#'分隔成大小不同的区域。上下左右四个方向相邻的空地'.'属于同一个区域,只有空地上可能存在敌人'E'。请求出地图上总共有多少区域里的敌人数小于K。原创 2025-01-20 09:52:26 · 2739 阅读 · 0 评论 -
华为OD机试E卷 ---最大值
给定一组整数(非负),重排顺序后输出一个最大的整数。原创 2025-01-17 17:12:11 · 2772 阅读 · 0 评论 -
华为OD机试真题---一种字符串压缩表示的解压
有一种简易压缩算法:针对全部由小写英文字母组成的字符串,将其中连续超过两个相同字母的部分压缩为连续个数加该字母,其他部分保持原样不变。例如,字符串“aaabbccccd”经过压缩成为字符串“3abb4cd”。现在需要编写解压函数,根据输入的字符串,判断其是否为合法压缩过的字符串。若输入合法,则输出解压缩后的字符串;否则,输出字符串“!error”来报告错误。原创 2025-01-17 17:12:18 · 880 阅读 · 0 评论 -
【力扣】2376. 统计特殊整数
【力扣】2376. 统计特殊整数原创 2024-09-20 09:18:24 · 837 阅读 · 1 评论 -
华为OD机试真题---求字符串中所有整数的最小和
输入字符串s,输出s中包含所有整数的最小和。原创 2024-12-31 15:20:16 · 1546 阅读 · 0 评论 -
华为OD机试真题---服务器广播
服务器之间可以通过网络进行连接,连接方式包括直接相连和间接连接。给出一个N×N的数组(矩阵),代表N个服务器,matrix[i][j] == 1表示服务器i和服务器j直接连接,matrix[i][j] != 1表示服务器i和服务器j不直接连接。matrix[i][i] == 1,即服务器自己和自己直接连接。matrix[i][j] == matrix[j][i],即连接关系是对称的。原创 2024-12-30 16:38:00 · 2124 阅读 · 0 评论 -
华为OD机试真题---箱子之字形摆放
有一批箱子,用一个字符串来表示每个箱子上的编号(编号由字母和数字组成)。要求将这批箱子按照之字形顺序摆放在宽度为n的空地上,并输出它们的摆放位置。之字形摆放要求每行的箱子是交替从左到右,或者从右到左摆放的,形成类似“Z”字形的排列。原创 2024-12-23 20:46:24 · 2426 阅读 · 0 评论 -
华为OD机试真题---观看文艺汇演问题
为了庆祝某个重要节日(如中国共产党成立100周年),某公园将举行多场文艺表演。很多演出都是同时进行的,一个人只能同时观看一场演出,且不能迟到早退。由于演出分布在不同的演出场地,所以连续观看的演出之间最少有15分钟的时间间隔。小明是一个狂热的文艺迷,想观看尽可能多的演出。现在给出演出时间表,请计算小明最多能观看几场演出。原创 2024-12-17 00:00:00 · 1681 阅读 · 0 评论 -
华为OD机试真题---机房布局
小明正在规划一个大型数据中心机房,为了使得机柜上的机器都能正常满负荷工作,需要确保在每个机柜边上至少要有一个电箱。为了简化题目,假设这个机房是一整排,M表示机柜,I表示间隔,要求返回整排机柜至少需要多少个电箱。如果无解则返回-1。原创 2024-12-17 00:00:00 · 673 阅读 · 0 评论 -
华为OD机试真题---九宫格按键输入
九宫格按键输入,有英文和数字两个模式,默认是数字模式,数字模式直接输出数字,英文模式连续按同一个按键会依次出现这个按键上的字母,如果输入""或者其他字符,则循环中断,输出此时停留的字母。数字和字母的对应关系如下,注意0只对应空格:原创 2024-12-16 10:25:43 · 697 阅读 · 0 评论 -
华为OD机试真题---小明周末爬山
周末小明准备去爬山锻炼,地图上的0代表平地,山的高度使用1到9来表示。小明每次爬山或下山高度只能相差k及k以内,且每次只能上下左右一个方向上移动一格。小明从左上角(0,0)位置出发,目标是找到他能爬到的最高峰,并输出该峰的高度以及到达该峰的最短步数。如果有多座同高度的山峰,则输出步数较短的那座。如果没有可以爬的山峰,则高度和步数都返回0。原创 2024-12-16 09:47:13 · 1570 阅读 · 0 评论 -
华为OD机试真题---水仙花数
所谓水仙花数,是指一个n位的正整数,其各位数字的n次方和等于该数本身。例如,153是一个3位数,且153=1^3+5^3+3^3,所以153是一个水仙花数。原创 2024-12-02 11:16:32 · 1031 阅读 · 0 评论 -
华为OD机试真题---ai面板识别
AI识别到面板上有N(1 ≤ N ≤ 100)个指示灯,灯大小一样,任意两个之间无重叠。由于AI识别误差,每次别到的指示灯位置可能有差异,以4个坐标值描述AI识别的指示灯的大小和位置(左上角x1,y1,右下角x2,y2),请输出先行后列排序的指示灯的编号,排序规则:每次在尚未排序的灯中挑选最高的灯作为的基准灯;找出和基准灯属于同一行所有的灯进行排序。两个灯高低偏差不超过灯半径算同一行(即两个灯坐标的差 ≤ 灯高度的一半)。原创 2024-12-02 11:03:06 · 2385 阅读 · 0 评论 -
华为OD机试真题---租车骑绿道
部门组织绿岛骑行团建活动。租用公共双人自行车,每辆自行车最多坐两人,做最大载重M。给出部门每个人的体重,请问最多需要租用多少双人自行车。输入描述:第一行两个数字m、n,分别代表自行车限重,部门总人数。第二行,n个数字,代表每个人的体重,体重都小于等于自行车限重m。原创 2024-11-29 00:00:00 · 1081 阅读 · 0 评论 -
华为OD机试真题---开心消消乐
给定一个N行M列的二维矩阵,矩阵中每个位置的数字取值为0或1。现需要将矩阵中所有的1进行反转为0,规则如下:1. 当点击一个1时,该1被反转为0,同时相邻的上、下、左、右,以及左上、左下、右上、右下8个方向的1(如果存在)均会自动反转为0。2. 进一步地,一个位置上的1被反转为0时,与其相邻的8个方向的1(如果存在)均会自动反转为0。原创 2024-11-29 00:00:00 · 1300 阅读 · 0 评论 -
华为OD机试真题---内存资源分配
有一个简易内存池,内存按照大小粒度分类,每个粒度有若干个可用内存资源。用户会进行一系列内存申请,系统需要按需分配内存池中的资源,并返回每次申请是否成功的结果。原创 2024-11-28 00:00:00 · 851 阅读 · 0 评论 -
华为OD机试真题---幼儿园篮球游戏
幼儿园里有一个放倒的圆桶,它是一个线性结构。允许在桶的右边将篮球放入,可以在桶的左边和右边将篮球取出。每个篮球有单独的编号,老师可以连续放入一个或多个篮球。小朋友可以在桶左边或右边将篮球取出,但当桶里只有一个篮球的情况下,必须从左边取出。原创 2024-11-28 00:00:00 · 778 阅读 · 0 评论 -
华为OD机试真题---智能驾驶
有一辆汽车需要从m * n的地图的左上角(起点)开往地图的右下角(终点),去往每一个地区都需要消耗一定的油量,加油站可进行加油。请你计算汽车确保从起点到达终点时所需的最少初始油量。原创 2024-11-26 17:11:12 · 1106 阅读 · 0 评论 -
华为OD机试真题---工号不够用了怎么办
3020年,空间通信集团的员工人数突破20亿人,即将遇到现有工号不够用的窘境。现在需要设计一个新的工号系统,该系统由小写英文字母(a-z)和数字(0-9)两部分构成,新工号由一段英文字母开头,之后跟随一段数字,比如"aaahw0001"、"a12345"、"abcd1"、"a00"等。注意新工号不能全为字母或者数字,允许数字部分有前导0或者全为0。但是过长的工号会增加同事们的记忆成本,现在给出新工号至少需要分配的人数 X 和新工号中字母的长度 Y,求新工号中数字的最短长度 Z。原创 2024-11-26 16:25:29 · 1514 阅读 · 0 评论 -
华为OD机试真题---投骰子问题
骰子是一个立方体,每个面一个数字,初始为左1,右2,前3(观察者方向),后4,上5,下6,用123456表示这个状态,放置在平面上,可以向左翻转(用L表示向左翻转1次),可以向右翻转(用R表示向右翻转1次),可以向前翻转(用F表示向前翻转1次),可以向后翻转(用B表示向后翻转1次),可以逆时针旋转(用A表示逆时针旋转90度),可以顺时针旋转(用C表示顺时针旋转90度),现从123456这个初始状态开始,根据输入的动作序列,计算得到最终的状态。原创 2024-11-25 10:09:10 · 950 阅读 · 0 评论 -
华为OD机试真题---云短信平台优惠活动
某云短信厂商为庆祝国庆,推出充值优惠活动。现在给出客户预算和优惠售价序列,要求计算最多可获得的短信总条数。原创 2024-11-25 09:52:41 · 947 阅读 · 0 评论 -
华为OD机试真题---学生方阵
学校组织活动,将学生排成一个矩形方阵。题目要求在矩形方阵中找到最大的位置相连的男生数量,这个相连位置在一个直线上,方向可以是水平的、垂直的、成对角线的或者呈反对角线的。原创 2024-11-23 10:38:12 · 1502 阅读 · 1 评论 -
华为OD机试真题---最大花费金额
双十一众多商品进行打折销售,小明想购买自己心仪的一些物品,但由于受购买资金限制,所以他决定从众多心仪商品中购买三件,而且想尽可能的花完资金。现在请你设计一个程序帮助小明计算尽可能花费的最大资金数额。原创 2024-11-23 10:02:02 · 1233 阅读 · 0 评论 -
华为OD机试真题---最短木板长度
小明有n块木板,每块木板的长度不同。现在小明买了一块长度为m的木料,这块木料可以切割成任意块,然后拼接到已有的木板上用来加长木板。小明的目标是让最短的木板长度尽可能长。问题要求计算加长木板后,最短木板的长度最大可以为多少。原创 2024-11-22 16:48:20 · 658 阅读 · 0 评论 -
华为OD机试真题---优秀学员统计
公司某部门软件教导团正在组织新员工每日打卡学习活动,已经持续了一个月。为了评选优秀员工,需要统计这个月打卡次数最多的前五名员工。每个员工有一个唯一的ID,活动持续30天,每天记录的打卡信息为当天打卡的员工ID集合。请你实现代码帮助统计出打卡次数top5的员工。假如打卡次数相同,将较早参与打卡的员工排在前面,如果开始参与打卡的时间还是一样,将id较小的员工排在前面。注:不考虑并列的情况,按规则返回前5名员工的id即可,如果当月打卡的员工少于5个,按规则排序返回所有有打卡记录的员工id。原创 2024-11-19 15:04:52 · 817 阅读 · 0 评论 -
华为OD机试真题---字符串化繁为简
给定一个输入字符串,字符串只可能由英文字母(a\~z、A\~Z)和左右小括号((、))组成。当字符里存在小括号时,小括号是成对的,可以有一个或多个小括号对,小括号对不会嵌套,小括号对内可以包含1个或多个英文字母也可以不包含英文字母。要求对这个输入字符串做简化,输出一个新的字符串,满足以下条件:原创 2024-11-18 14:59:07 · 1300 阅读 · 0 评论 -
华为OD机试真题---路灯照明问题
在一条笔直的公路上安装了N个路灯,从位置0开始安装,路灯之间间距固定为100米。每个路灯都有自己的照明半径,请计算第一个路灯和最后一个路灯之间,无法照明的区间的长度和。原创 2024-11-17 00:00:00 · 751 阅读 · 1 评论 -
华为OD机试真题---最长连续子序列
给定一个由N个正整数组成的序列,以及一个整数sum。要求找出长度最长的连续子序列,使得该子序列的和等于sum,并返回该子序列的长度。如果没有满足要求的序列,则返回-1。原创 2024-11-16 09:57:24 · 831 阅读 · 0 评论 -
华为OD机试真题---最短木板长度
小明有n块木板,每块木板的长度不同。现在小明买了一块长度为m的木料,这块木料可以切割成任意块,然后拼接到已有的木板上用来加长木板。小明的目标是让最短的木板长度尽可能长。问题要求计算加长木板后,最短木板的长度最大可以为多少。原创 2024-11-16 09:40:39 · 1099 阅读 · 0 评论 -
华为OD机试真题---孙悟空吃蟠桃
孙悟空来到了蟠桃园偷吃蟠桃。蟠桃园有N棵桃树,每棵树上都有一定数量的蟠桃。守卫将在H小时后回来。孙悟空每小时可以选择吃一棵树上的所有蟠桃(如果数量少于他选择的速度,则全部吃掉),并且在这一个小时内不会吃其他树上的桃子。孙悟空希望以尽可能慢的速度吃蟠桃,但又要确保在守卫回来之前吃完所有的桃子。题目要求计算孙悟空能在H小时内吃完所有桃子的最小速度K(个/小时),如果以任何速度都吃不完,则返回0。原创 2024-09-28 01:00:00 · 1642 阅读 · 0 评论 -
华为OD机试真题---数组二叉树
二叉树只也可以用数组来存储,给定一个数组,树的根节点的值储存在下标1,对于储存在下标n的节点,他的左子节点和右子节点分别储存在下标2n和2n+1,并且我们用-1代表一个节点为空,给定一个数组存储的二叉树,试求从根节点到最小的 叶子节点只的路径,路径由节点的值组成。原创 2024-11-13 09:55:56 · 1486 阅读 · 0 评论 -
华为OD机试真题---整数编码
实现一种整数编码方法,使得待编码的数字越小,编码后所占用的字节数越小。编码规则如下......原创 2024-11-13 09:35:23 · 959 阅读 · 0 评论 -
2024华为OD机试真题---中文分词模拟器
给定一个连续不包含空格的字符串Q,该字符串仅包含英文小写字母及英文标点符号(逗号、分号、句号),同时给定词库,对该字符串进行精确分词。原创 2024-11-12 00:00:00 · 1938 阅读 · 0 评论 -
华为OD机试真题---电脑病毒感染
一个局域网内有很多台电脑,分别标注为0~N-1的数字。相连接的电脑距离不一样,所以感染时间不一样,感染时间用t表示。其中网络内一台电脑被病毒感染,求其感染网络内所有的电脑最少需要多长时间。如果最后有电脑不会感染,则返回-1。给定一个数组times表示一台电脑把相邻电脑感染所用的时间。path[i]={i, j, t}表示:电脑i->j,电脑i上的病毒感染j,需要时间t。原创 2024-11-12 00:00:00 · 1030 阅读 · 0 评论 -
华为OD机试真题---最长方连续方波信号
输入一串方波信号,求取最长的完全连续交替方波信号,并将其输出。如果有相同长度的交替方波信号,输出任一即可。方波信号高位用1标识,低位用0标识。原创 2024-11-11 10:39:28 · 840 阅读 · 0 评论 -
华为OD机试真题---计算堆栈中的剩余数字
向一个空栈中依次存入正整数,假设入栈元素按顺序依次为nx...n4、n3、n2、n1,,每当元素入栈时,如果n1=n2+...+ny(y的范围[2,x],1原创 2024-11-11 10:08:16 · 1061 阅读 · 0 评论 -
华为OD机试真题---最大社交距离
疫情期间需要大家保证一定的社交距离,公司组织开交流会议。会议室有一排座位,编号分别为0到N-1(N为座位总数),要求员工一个接着一个进入会议室,并且可以在任何时候离开会议室。每当一个员工进入时,需要坐到最大社交距离的座位(即最大化自己和其他已就座员工之间的距离);如果有多个这样的座位,则选择索引最小的那个座位。原创 2024-11-10 00:00:00 · 1309 阅读 · 0 评论 -
华为OD机试真题---用户调度问题
在通信系统中,一个常见的问题是对用户进行不同策略的调度,会得到不同的系统消耗和性能。假设当前有n个待串行调度用户,每个用户可以使用A/B/C三种不同的调度策略,不同的策略会消耗不同的系统资源。请你根据如下规则进行用户调度,并返回总的消耗资源数:1. 相邻的用户不能使用相同的调度策略,例如,第1个用户使用了A策略,则第2个用户只能使用B或者C策略。2. 对单个用户而言,不同的调度策略对系统资源的消耗可以归一化后抽象为数值。原创 2024-11-09 10:09:31 · 1371 阅读 · 0 评论 -
华为OD机试真题---计算最接近的数
给定一个数组X和一个正整数K,请找出使表达式X[i] - X[i + 1] - ... - X[i + K - 1]的结果最接近于数组中位数的下标i。如果有多个i满足条件,则返回最大的i。* 数组中位数:长度为N的数组,按照元素的值大小升序排列后,下标为N/2的元素的值。* 数组X的元素均为正整数。* 数组X的长度n取值范围:2 ≤ n ≤ 1000。* K大于0且小于数组的大小。* i的取值范围:0 ≤ i < n-K+1(确保X[i + K - 1]不会越界)。原创 2024-11-09 10:01:35 · 1453 阅读 · 0 评论 -
华为OD机试真题---字母组合
每个数字关联多个字母,关联关系如下:* 0 关联 “a”,“b”,“c”* 1 关联 “d”,“e”,“f”* 2 关联 “g”,“h”,“i”* 3 关联 “j”,“k”,“l”* 4 关联 “m”,“n”,“o”* 5 关联 “p”,“q”,“r”* 6 关联 “s”,“t”* 7 关联 “u”,“v”* 8 关联 “w”,“x”* 9 关联 “y”,“z”原创 2024-11-04 10:55:34 · 1392 阅读 · 0 评论