2024华为OD真题(ABCD卷-Python篇)
文章平均质量分 88
最新2024年华为OD机试题,每日更新。 华为OD机试真题(Python),已帮助700+读者高分通过机试,每道题都增加了算法思路,真的能学会。
优惠券已抵扣
余额抵扣
还需支付
¥399.90
¥499.90
购买须知?
本专栏为图文内容,最终完结不会低于15篇文章。
订阅专栏,享有专栏所有文章阅读权限。
本专栏为虚拟商品,基于网络商品和虚拟商品的性质和特征,专栏一经购买无正当理由不予退款,不支持升级,敬请谅解。
猿来如此yyy
希望我的博客,能帮上你解决学习中工作中所遇到的问题
展开
-
基站维护工程师 思路+代码(华为OD-A卷-200分-Python解法)
题目中说 1 < n < 10 ,也就是说最多有9个站点,而我们求解n-1个站点的全排列,即8个站点的全排列,一共有8!某地方有 n 个基站(1 < n < 10),已知各基站之间的距离 s(0 < s < 500),并且基站 x 到基站 y 的距离,与基站 y 到基站 x 的距离并不一定会相同。某地方有 n 个基站(1 < n < 10),已知各基站之间的距离 s(0 < s < 500),并且基站 x 到基站 y 的距离,与基站 y 到基站 x 的距离并不一定会相同。原创 2024-08-01 10:17:15 · 515 阅读 · 0 评论 -
计算网络信号、信号强度 思路+代码(华为OD-A卷-200分-Python解法)
网络信号经过传递会逐层衰减,且遇到阻隔物无法直接穿透,在此情况下需要计算某个位置的网络信号值。网络信号经过传递会逐层衰减,且遇到阻隔物无法直接穿透,在此情况下需要计算某个位置的网络信号值。网络信号经过传递会逐层衰减,且遇到阻隔物无法直接穿透,在此情况下需要计算某个位置的网络信号值。网络信号经过传递会逐层衰减,且遇到阻隔物无法直接穿透,在此情况下需要计算某个位置的网络信号值。网络信号经过传递会逐层衰减,且遇到阻隔物无法直接穿透,在此情况下需要计算某个位置的网络信号值。原创 2024-08-01 10:26:11 · 503 阅读 · 0 评论 -
计算快递主站点 思路+代码(华为OD-A卷-200分-Python解法)
现在给N个站点编号0、1、…n-1,用s[i][j]表示i-j是否可达,s[i][j]=1表示i-j可达,s[i][j]=0表示i-j不可达。n-1,用s[i][j]表示i-j是否可达,s[i][j]=1表示i-j可达,s[i][j]=0表示i-j不可达。n-1,用s[i][j]表示i-j是否可达,s[i][j]=1表示i-j可达,s[i][j]=0表示i-j不可达。n-1,用s[i][j]表示i-j是否可达,s[i][j]=1表示i-j可达,s[i][j]=0表示i-j不可达。原创 2024-08-01 10:24:23 · 521 阅读 · 0 评论 -
荒地 思路+代码(华为OD-A卷-200分-Python解法)
第一行输入为调研的地区长,宽,以及准备建设的电站【长宽相等,为正方形】的边长最低要求的发电量。第一行输入为调研的地区长,宽,以及准备建设的电站【长宽相等,为正方形】的边长最低要求的发电量。第一行输入为调研的地区长,宽,以及准备建设的电站【长宽相等,为正方形】的边长最低要求的发电量。第一行输入为调研的地区长,宽,以及准备建设的电站【长宽相等,为正方形】的边长最低要求的发电量。第一行输入为调研的地区长,宽,以及准备建设的电站【长宽相等,为正方形】的边长最低要求的发电量。原创 2024-08-01 10:12:04 · 173 阅读 · 0 评论 -
机房布局 思路+代码(华为OD-A卷-200分-Python解法)
如果机柜的右侧可以放电箱,比如第 i 个位置是机柜,第 i + 1个位置是间隔,则我们可以将电箱放到第 i + 1个位置上,此时:第 i + 2 个位置是什么还需要关注吗?如果机柜的右侧可以放电箱,比如第 i 个位置是机柜,第 i + 1个位置是间隔,则我们可以将电箱放到第 i + 1个位置上,此时:第 i + 2 个位置是什么还需要关注吗?为了简化题目,假设这个机房是一整排,M表示机柜,I表示间隔,请你返回这整排机柜,至少需要多少个电箱。如果无解请返回 -1。如果无解请返回 -1。原创 2024-08-01 10:13:20 · 492 阅读 · 0 评论 -
几何平均值最大子数组 思路+代码(华为OD-A卷-200分-Python解法)
之后N行表示numbers中的N个数,每个一行(10^-9 ≤ numbers[i] ≤ 10^9)之后N行表示numbers中的N个数,每个一行(10^-9 ≤ numbers[i] ≤ 10^9)之后N行表示numbers中的N个数,每个一行(10^-9 ≤ numbers[i] ≤ 10^9)之后N行表示numbers中的N个数,每个一行(10^-9 ≤ numbers[i] ≤ 10^9)之后N行表示numbers中的N个数,每个一行(10^-9 ≤ numbers[i] ≤ 10^9)原创 2024-08-01 10:23:09 · 469 阅读 · 0 评论 -
寻找符合要求的最长子串 思路+代码(华为OD-A卷-200分-Python解法)
第二行为:字符串s,每个字符范围[0-9a-zA-Z],长度范围[1, 10000]第二行为:字符串s,每个字符范围[0-9a-zA-Z],长度范围[1, 10000]第二行为:字符串s,每个字符范围[0-9a-zA-Z],长度范围[1, 10000]第二行为:字符串s,每个字符范围[0-9a-zA-Z],长度范围[1, 10000]第二行为:字符串s,每个字符范围[0-9a-zA-Z],长度范围[1, 10000]第二行为:字符串s,每个字符范围[0-9a-zA-Z],长度范围[1, 10000]原创 2024-08-01 10:59:14 · 905 阅读 · 0 评论 -
区间交叠问题 思路+代码(华为OD-A卷-200分-Python解法)
第一行输入为所有线段的数量,不超过10000,后面每行表示一条线段,格式为"x,y",x和y分别表示起点和终点,取值范围是[-10^5,10^5]。第一行输入为所有线段的数量,不超过10000,后面每行表示一条线段,格式为"x,y",x和y分别表示起点和终点,取值范围是[-10^5,10^5]。第一行输入为所有线段的数量,不超过10000,后面每行表示一条线段,格式为"x,y",x和y分别表示起点和终点,取值范围是[-10^5,10^5]。原创 2024-08-01 10:45:21 · 371 阅读 · 0 评论 -
上班之路 思路+代码(华为OD-A卷-200分-Python解法)
输入的第一行为两个整数t,c(0 ≤ t,c ≤ 100),t代表可以拐弯的次数,c代表可以清除的路障个数。输入的第一行为两个整数t,c(0 ≤ t,c ≤ 100),t代表可以拐弯的次数,c代表可以清除的路障个数。输入的第一行为两个整数t,c(0 ≤ t,c ≤ 100),t代表可以拐弯的次数,c代表可以清除的路障个数。输入的第一行为两个整数t,c(0 ≤ t,c ≤ 100),t代表可以拐弯的次数,c代表可以清除的路障个数。原创 2024-08-01 10:50:42 · 712 阅读 · 0 评论 -
去除多余空格 思路+代码(华为OD-A卷-200分-Python解法)
2,单词的的开始和结束下标保证涵盖一个完整的单词,即一个坐标对开始和结束下标之间不会有多余的空格;2,单词的的开始和结束下标保证涵盖一个完整的单词,即一个坐标对开始和结束下标之间不会有多余的空格;2,单词的的开始和结束下标保证涵盖一个完整的单词,即一个坐标对开始和结束下标之间不会有多余的空格;2,单词的的开始和结束下标保证涵盖一个完整的单词,即一个坐标对开始和结束下标之间不会有多余的空格;2,单词的的开始和结束下标保证涵盖一个完整的单词,即一个坐标对开始和结束下标之间不会有多余的空格;原创 2024-08-01 10:48:30 · 878 阅读 · 0 评论 -
探索地块建立 思路+代码(华为OD-A卷-200分-Python解法)
给一块n*m的地块,相当于n*m的二维数组,每个元素的值表示这个小地块的发电量;给一块n*m的地块,相当于n*m的二维数组,每个元素的值表示这个小地块的发电量;给一块n*m的地块,相当于n*m的二维数组,每个元素的值表示这个小地块的发电量;给一块n*m的地块,相当于n*m的二维数组,每个元素的值表示这个小地块的发电量;给一块n*m的地块,相当于n*m的二维数组,每个元素的值表示这个小地块的发电量;给一块n*m的地块,相当于n*m的二维数组,每个元素的值表示这个小地块的发电量;原创 2024-08-01 10:54:05 · 742 阅读 · 0 评论 -
士兵过河 思路+代码(华为OD-A卷-200分-Python解法)
对于动态规划解法,由于是从0人过河递推到N人过河,因此不需要二分尝试过河人数,而是可以直接基于dp[i]来实时比较T,如果超过了T,则说明只能过河 i 人,耗时dp[i-1]对于动态规划解法,由于是从0人过河递推到N人过河,因此不需要二分尝试过河人数,而是可以直接基于dp[i]来实时比较T,如果超过了T,则说明只能过河 i 人,耗时dp[i-1]原创 2024-08-01 10:52:11 · 462 阅读 · 0 评论 -
连接器问题 思路+代码(华为OD-A卷-200分-Python解法)
然后不停的弹出connects栈顶元素,即最小长度的连接器,来对比diffs数组栈顶元素,即最短的空隙,如果最小长度的连接器 可以满足 最短的空隙,则将diffs栈顶元素弹出,否则不弹出,继续找下一个连接器。然后不停的弹出connects栈顶元素,即最小长度的连接器,来对比diffs数组栈顶元素,即最短的空隙,如果最小长度的连接器 可以满足 最短的空隙,则将diffs栈顶元素弹出,否则不弹出,继续找下一个连接器。原创 2024-08-01 10:43:29 · 655 阅读 · 0 评论 -
开放日活动、取出尽量少的球
因此,我们可以发现,maxCapacity取值2时,剩余球数最多,总数量小于SUM=14,符合要求,且取出的球最少,分别为0,1,0,3,3,0,2。因此,我们可以发现,maxCapacity取值2时,剩余球数最多,总数量小于SUM=14,符合要求,且取出的球最少,分别为0,1,0,3,3,0,2。因此,我们可以发现,maxCapacity取值2时,剩余球数最多,总数量小于SUM=14,符合要求,且取出的球最少,分别为0,1,0,3,3,0,2。原创 2024-08-01 10:31:56 · 527 阅读 · 0 评论 -
快速开租建站 思路+代码(华为OD-A卷-200分-Python解法)
接下来 relationsNum 行,每行包含两个id,描述一个依赖关系,格式为:IDi IDj,表示部署任务i部署完成了,部署任务j才能部署,IDi 和 IDj 值的范围为:[0, taskNum)接下来 relationsNum 行,每行包含两个id,描述一个依赖关系,格式为:IDi IDj,表示部署任务i部署完成了,部署任务j才能部署,IDi 和 IDj 值的范围为:[0, taskNum)原创 2024-08-01 10:38:34 · 706 阅读 · 0 评论 -
无向图染色 思路+代码(华为OD-A卷-200分-Python解法)
数据范围:1原创 2024-08-01 10:56:52 · 439 阅读 · 0 评论 -
快递投放问题 思路+代码(华为OD-A卷-200分-Python解法)
每个站点有一些包裹要运输,每个站点间的包裹不重复,路上有检查站会导致部分货物无法通行,计算哪些货物无法正常投递?每个站点有一些包裹要运输,每个站点间的包裹不重复,路上有检查站会导致部分货物无法通行,计算哪些货物无法正常投递?每个站点有一些包裹要运输,每个站点间的包裹不重复,路上有检查站会导致部分货物无法通行,计算哪些货物无法正常投递?每个站点有一些包裹要运输,每个站点间的包裹不重复,路上有检查站会导致部分货物无法通行,计算哪些货物无法正常投递?原创 2024-08-01 10:36:39 · 663 阅读 · 0 评论 -
任务调度 思路+代码(华为OD-A卷-200分-Python解法)
Pytho可以基于queue.PriorityQueue来实现优先队列,但是queue.PriorityQueue的自定义排序不支持函数参数传入,而是只能基于queue.PriorityQueue加入的元素的自身比较器(如__lt__和__gt__)来排序。原创 2024-08-01 10:49:23 · 576 阅读 · 0 评论 -
农场施肥 思路+代码(华为OD-A卷-200分-Python解法)
但是,本题min~max之间有1 ≤ fields[i] ≤ 10^9,并且求解每种k对应的spend都需要遍历1 ≤ fields.length ≤ 10^4次,因此上面算法的时间复杂度是10^9 * 10^4 = 10^13,这是必然超时的。但是,本题min~max之间有1 ≤ fields[i] ≤ 10^9,并且求解每种k对应的spend都需要遍历1 ≤ fields.length ≤ 10^4次,因此上面算法的时间复杂度是10^9 * 10^4 = 10^13,这是必然超时的。原创 2024-08-01 10:44:22 · 553 阅读 · 0 评论 -
简单的解压缩算法 思路+代码(华为OD-A卷-200分-Python解法)
2、花括号中的字符串加数字N,表示花括号中的字符重复N次。2、花括号中的字符串加数字N,表示花括号中的字符重复N次。2、花括号中的字符串加数字N,表示花括号中的字符重复N次。2、花括号中的字符串加数字N,表示花括号中的字符重复N次。2、花括号中的字符串加数字N,表示花括号中的字符重复N次。2、花括号中的字符串加数字N,表示花括号中的字符重复N次。2、花括号中的字符串加数字N,表示花括号中的字符重复N次。2、花括号中的字符串加数字N,表示花括号中的字符重复N次。1、字符后面加数字N,表示重复字符N次。原创 2024-08-01 10:27:36 · 380 阅读 · 0 评论 -
数字加减游戏 思路+代码(华为OD-A卷-200分-Python解法)
因此,我们可以让x从0开始尝试,然后尝试1,-1,然后尝试2,-2,直到找到一个x能够让(比如用例1)(9 - 5*x) / 2 为一个整数。因此,我们可以让x从0开始尝试,然后尝试1,-1,然后尝试2,-2,直到找到一个x能够让(比如用例1)(9 - 5*x) / 2 为一个整数。因此,我们可以让x从0开始尝试,然后尝试1,-1,然后尝试2,-2,直到找到一个x能够让(比如用例1)(9 - 5*x) / 2 为一个整数。原创 2024-08-01 10:53:14 · 546 阅读 · 0 评论 -
信号发射和接收 思路+代码(华为OD-A卷-200分-Python解法)
有一个二维的天线矩阵,每根天线可以向其他天线发射信号,也能接收其他天线的信号,为了简化起见,我们约定每根天线只能向东和向南发射信号,换言之,每根天线只能接收东向或南向的信号。有一个二维的天线矩阵,每根天线可以向其他天线发射信号,也能接收其他天线的信号,为了简化起见,我们约定每根天线只能向东和向南发射信号,换言之,每根天线只能接收东向或南向的信号。原创 2024-08-01 10:58:19 · 894 阅读 · 0 评论 -
天然蓄水库 思路+代码(华为OD-A卷-200分-Python解法)
例如,当山脉为s=[3,1,2]时,则选取s[0]和s[2]作为水库边界,则蓄水量为1,此时输出:0 2:1。例如,当山脉为s=[3,1,2]时,则选取s[0]和s[2]作为水库边界,则蓄水量为1,此时输出:0 2:1。例如,当山脉为s=[3,1,2]时,则选取s[0]和s[2]作为水库边界,则蓄水量为1,此时输出:0 2:1。例如,当山脉为s=[3,1,2]时,则选取s[0]和s[2]作为水库边界,则蓄水量为1,此时输出:0 2:1。原创 2024-08-01 10:55:12 · 577 阅读 · 0 评论 -
区块链文件转储系统 思路+代码(华为OD-A卷-200分-Python解法)
区块链底层存储是一个链式文件系统,由顺序的N个文件组成,每个文件的大小不一,依次为F1,F2,...,Fn。云平台考虑将区块链按文件转储到廉价的SATA盘,只有连续的区块链文件才能转储到SATA盘上,且转储的文件之和不能超过SATA盘的容量。云平台考虑将区块链按文件转储到廉价的SATA盘,只有连续的区块链文件才能转储到SATA盘上,且转储的文件之和不能超过SATA盘的容量。云平台考虑将区块链按文件转储到廉价的SATA盘,只有连续的区块链文件才能转储到SATA盘上,且转储的文件之和不能超过SATA盘的容量。原创 2024-08-01 10:47:06 · 549 阅读 · 0 评论 -
九宫格 思路+代码(华为OD-A卷-200分-Python解法)
要求输出的排列升序排序,即:对于排列 A(A1,A2,A3,…排列后的九个数宇中:第1-3个数字为方格的第一行,第4-6个数宇为方格的第二行,第7-9个数字为方格的第三行。排列后的九个数宇中:第1-3个数字为方格的第一行,第4-6个数宇为方格的第二行,第7-9个数字为方格的第三行。排列后的九个数宇中:第1-3个数字为方格的第一行,第4-6个数宇为方格的第二行,第7-9个数字为方格的第三行。排列后的九个数宇中:第1-3个数字为方格的第一行,第4-6个数宇为方格的第二行,第7-9个数字为方格的第三行。原创 2024-08-01 10:30:00 · 496 阅读 · 0 评论 -
垃圾短信识别 思路+代码(华为OD-A卷-200分-Python解法)
第一行是条目数,接下来几行是具体的条目,每个条目,是一对ID,第一个数字是发送者ID,后面的数字是接收者ID,中间空格隔开,所有的ID都为无符号整型,ID最大值为100;第一行是条目数,接下来几行是具体的条目,每个条目,是一对ID,第一个数字是发送者ID,后面的数字是接收者ID,中间空格隔开,所有的ID都为无符号整型,ID最大值为100;第一行是条目数,接下来几行是具体的条目,每个条目,是一对ID,第一个数字是发送者ID,后面的数字是接收者ID,中间空格隔开,所有的ID都为无符号整型,ID最大值为100;原创 2024-08-01 10:42:28 · 458 阅读 · 0 评论 -
最多等和不相交连续子序列 思路+代码(华为OD-A卷-200分-Python解法)
给定一个数组,我们称其中连续的元素为连续子序列,称这些元素的和为连续子序列的和。给定一个数组,我们称其中连续的元素为连续子序列,称这些元素的和为连续子序列的和。给定一个数组,我们称其中连续的元素为连续子序列,称这些元素的和为连续子序列的和。给定一个数组,我们称其中连续的元素为连续子序列,称这些元素的和为连续子序列的和。给定一个数组,我们称其中连续的元素为连续子序列,称这些元素的和为连续子序列的和。给定一个数组,我们称其中连续的元素为连续子序列,称这些元素的和为连续子序列的和。原创 2024-08-01 11:10:47 · 592 阅读 · 0 评论 -
最佳对手 思路+代码(华为OD-A卷-200分-Python解法)
下面代码中,我并没有按照队伍实力值得粒度进行分段,而是直接在分段过程中,计算出匹配队伍得实力差,即:分段记录得是两两匹配的实力差,上面按照队伍的分段,可以修改为实力差分段。下面代码中,我并没有按照队伍实力值得粒度进行分段,而是直接在分段过程中,计算出匹配队伍得实力差,即:分段记录得是两两匹配的实力差,上面按照队伍的分段,可以修改为实力差分段。因为任意两个队伍都能匹配,那么只要队伍个数给定了,那么匹配数也就确定了,比如10个队伍,可以匹配5组,这5组就是最多的匹配情况。再比如7个队伍,最多可以匹配3组。原创 2024-08-01 11:13:22 · 608 阅读 · 0 评论 -
最大数字 思路+代码(华为OD-A卷-200分-Python解法)
如果此时stack栈顶没有元素,则将遍历的c直接压入栈,然后unused[c]--,reserve[c]++如果此时stack栈顶没有元素,则将遍历的c直接压入栈,然后unused[c]--,reserve[c]++如果此时stack栈顶没有元素,则将遍历的c直接压入栈,然后unused[c]--,reserve[c]++如果此时stack栈顶没有元素,则将遍历的c直接压入栈,然后unused[c]--,reserve[c]++原创 2024-08-01 11:09:56 · 873 阅读 · 0 评论 -
最优高铁城市修建方案 思路+代码(华为OD-A卷-200分-Python解法)
注意,需要满足城市圈内城市间两两互联可达(通过其他城市中转可达也属于满足条件)。因为城市1,3间的高铁必须修建,在满足互联的条件下,再增加修建城市1,2间的高铁即可,最低成本为110。因为城市1,3间的高铁必须修建,在满足互联的条件下,再增加修建城市1,2间的高铁即可,最低成本为110。因为城市1,3间的高铁必须修建,在满足互联的条件下,再增加修建城市1,2间的高铁即可,最低成本为110。因为城市1,3间的高铁必须修建,在满足互联的条件下,再增加修建城市1,2间的高铁即可,最低成本为110。原创 2024-08-01 11:14:32 · 799 阅读 · 0 评论 -
最多获得的短信条数、云短信平台优惠活动 思路+代码(华为OD-A卷-200分-Python解法)
某云短信厂商,为庆祝国庆,推出充值优惠活动。现在给出客户预算,和优惠售价序列,求最多可获得的短信总条数。第一行客户预算M,其中 0 ≤ M ≤ 10^6第二行给出售价表, P1, P2, … Pn , 其中 1 ≤ n ≤ 100 ,Pi为充值 i 元获得的短信条数。1 ≤ Pi ≤ 1000 , 1 ≤ n ≤ 100最多获得的短信条数本题是完全背包问题。某云短信厂商,为庆祝国庆,推出充值优惠活动。现在给出客户预算,和优惠售价序列,求最多可获得的短信总条数。第一行客户预算M,其中 0 ≤ M原创 2024-08-01 11:11:26 · 619 阅读 · 0 评论 -
硬件产品销售方案 思路+代码(华为OD-A卷-200分-Python解法)
某公司目前推出了AI开发者套件,AI加速卡,AI加速模块,AI服务器,智能边缘多种硬件产品,每种产品包含若干个型号。某公司目前推出了AI开发者套件,AI加速卡,AI加速模块,AI服务器,智能边缘多种硬件产品,每种产品包含若干个型号。某公司目前推出了AI开发者套件,AI加速卡,AI加速模块,AI服务器,智能边缘多种硬件产品,每种产品包含若干个型号。某公司目前推出了AI开发者套件,AI加速卡,AI加速模块,AI服务器,智能边缘多种硬件产品,每种产品包含若干个型号。原创 2024-08-01 11:01:28 · 664 阅读 · 0 评论 -
最优资源分配 思路+代码(华为OD-A卷-200分-Python解法)
某块业务芯片最小容量单位为1.25G,总容量为M*1.25G,对该芯片资源编号为1,2,...,M。某块业务芯片最小容量单位为1.25G,总容量为M*1.25G,对该芯片资源编号为1,2,...,M。某块业务芯片最小容量单位为1.25G,总容量为M*1.25G,对该芯片资源编号为1,2,...,M。某块业务芯片最小容量单位为1.25G,总容量为M*1.25G,对该芯片资源编号为1,2,...,M。某块业务芯片最小容量单位为1.25G,总容量为M*1.25G,对该芯片资源编号为1,2,...,M。原创 2024-08-01 11:28:52 · 774 阅读 · 0 评论 -
羊、狼、农夫过河 思路+代码(华为OD-A卷-200分-Python解法)
羊、狼、农夫都在岸边,当羊的数量小于狼的数量时,狼会攻击羊,农夫则会损失羊。农夫有一艘容量固定的船,能够承载固定数量的动物。羊、狼、农夫都在岸边,当羊的数量小于狼的数量时,狼会攻击羊,农夫则会损失羊。羊、狼、农夫都在岸边,当羊的数量小于狼的数量时,狼会攻击羊,农夫则会损失羊。羊、狼、农夫都在岸边,当羊的数量小于狼的数量时,狼会攻击羊,农夫则会损失羊。羊、狼、农夫都在岸边,当羊的数量小于狼的数量时,狼会攻击羊,农夫则会损失羊。羊、狼、农夫都在岸边,当羊的数量小于狼的数量时,狼会攻击羊,农夫则会损失羊。原创 2024-08-01 11:00:14 · 530 阅读 · 0 评论 -
最多几个直角三角形 思路+代码(华为OD-A卷-200分-Python解法)
然后,继续遍历下一个可能直角三角形组合3 4 5,发现统计的3的数量已经为0了,因此这个三角形无法组合,继续遍历下一个可能直角三角形组合 5 12 13,然后统计数量变为。然后,继续遍历下一个可能直角三角形组合3 4 5,发现统计的3的数量已经为0了,因此这个三角形无法组合,继续遍历下一个可能直角三角形组合 5 12 13,然后统计数量变为。比如,我们已经用了3 4 5组成一个直角三角形,那么给的线段还剩下6 5 12 13,而剩下的线段中,只能组合出一个直角三角形5 12 13。原创 2024-08-01 11:12:16 · 673 阅读 · 0 评论 -
组装新的数组 思路+代码(华为OD-A卷-200分-Python解法)
我们可以使用回溯算法来在N中选取多个元素(同一个元素可以重复选取),这个逻辑其实就是求可重复元素组合情况,每得到一个组合就看其和sum是否等于m,或者m - sum 是否已经小于 N.min,若是,则该组合是符合要求的,count++,否则不符合要求,继续找。当sum > m时,则说明往后的组合已经无法符合要求,此时需要进行回溯了。在数组N任意选取多个元素,且同一个元素可以重复选取,只要最终选取的所有元素之和等于m,或者:小于m但是差值不超过N.min()。原创 2024-08-01 11:06:56 · 739 阅读 · 0 评论 -
优雅子数组 思路+代码(华为OD-A卷-200分-Python解法)
利用双指针(即一个双重for)找到所有子数组(有点暴力),外层 i 指针指向子数组左边界,内层 j 指针指向子数组右边界,然后统计子数组内部各数字出现个数,若有数字出现次数大于等于k,则该子数组符合要求,统计结果ans++。利用双指针(即一个双重for)找到所有子数组(有点暴力),外层 i 指针指向子数组左边界,内层 j 指针指向子数组右边界,然后统计子数组内部各数字出现个数,若有数字出现次数大于等于k,则该子数组符合要求,统计结果ans++。原创 2024-08-01 11:04:21 · 519 阅读 · 0 评论 -
字符串解密 思路+代码(华为OD-A卷-200分-Python解法)
将输入字符串1里的加扰子串“123ad”、“ffc79”去除后得到有效子串序列:"my"、"pt",其中"my"里不同字母的数量为2(有‘m’和'y'两个不同字母),“pt”里不同字母的数量为2(有'p'和't'两个不同字母);将输入字符串1里的加扰子串“123ad”、“ffc79”去除后得到有效子串序列:"my"、"pt",其中"my"里不同字母的数量为2(有‘m’和'y'两个不同字母),“pt”里不同字母的数量为2(有'p'和't'两个不同字母);原创 2024-08-01 11:05:15 · 806 阅读 · 0 评论 -
最大化控制资源成本 思路+代码(华为OD-A卷-200分-Python解法)
并行度是指这个任务运行时将会占用的服务器数量,一个服务器在每个时刻可以被任意任务使用但最多被一个任务占用,任务运行完成立即释放(结束时刻不占用)。并行度是指这个任务运行时将会占用的服务器数量,一个服务器在每个时刻可以被任意任务使用但最多被一个任务占用,任务运行完成立即释放(结束时刻不占用)。并行度是指这个任务运行时将会占用的服务器数量,一个服务器在每个时刻可以被任意任务使用但最多被一个任务占用,任务运行完成立即释放(结束时刻不占用)。原创 2024-08-01 11:08:20 · 606 阅读 · 0 评论 -
优选核酸检测点 思路+代码(华为OD-A卷-200分-Python解法)
我们可以通过求区间交集的方式,来获取张三【出发时间,到达时间】 和 【8:00,10:00】以及【10:00, 12:00】,以及【12:00, 14:00】以及【14:00,20:00】的交集。我们可以通过求区间交集的方式,来获取张三【出发时间,到达时间】 和 【8:00,10:00】以及【10:00, 12:00】,以及【12:00, 14:00】以及【14:00,20:00】的交集。原创 2024-08-01 11:03:31 · 661 阅读 · 0 评论