3gying
这个作者很懒,什么都没留下…
展开
-
华为OD机试统一考试D卷 - 路口最短时间问题
行走路线为 (0,0) -> (0,1) -> (1,1) -> (1,2) -> (2,2) 走了4格路,2个右转,1个左转,共耗时 60+0+60+5+60+0+60=245。lights[rowStart][colStart] 与 lights[rowEnd][colEnd] 两个街口之间的最短通行时间。现给出 n * m 个街口的交通灯周期,以及起止街口的坐标,计算车辆经过两个街口的最短时间。车辆可直行、左转和右转,其中直行和左转需要等相应 T 时间的交通灯才可通行,右转无需等待。原创 2024-08-15 09:44:30 · 43 阅读 · 0 评论 -
华为OD机试统一考试D卷 - 内存申请
堆中已使用的两块内存是偏移从0开始的1字节和偏移从3开始的2字节,空闲的两块内存是偏移从1开始2个字节和偏移从5开始95字节根据分配原则,新申请的内存应从1开始分配1个字节,所以输出偏移为1。有一个总空间为100字节的堆,现要从中新申请一块内存,内存分配原则为:优先紧接着前一块已使用内存,分配空间足够目最接近申请大小的空闲内存。表示0偏移地址开始的1个字节和3偏移地址开始的2个字节已被分配,其余内存空闲。第1行是1个整数,表示期望申请的内存字节数。若申请成功,输出申请到内存的偏移。若申请失败,输出-1。原创 2024-08-15 09:40:27 · 36 阅读 · 0 评论 -
华为OD机试统一考试D卷 - 连续自然数之和
在每个测试数据结束时,输出一行”Result:X”,其中X是最终的表达式个数。给定一个整数,计算该整数有几种连续自然数之和的表达式,且打印出每种表达式。该整数的所有表达式和表达式的个数。每个表达式中按自然数递增的顺序输出,具体的格式参见样例。一个目标整数T (1 <=T<= 1000)一个整数可以由连续的自然数之和来表示。自然数个数最少的表达式优先输出。原创 2024-08-15 09:37:55 · 24 阅读 · 0 评论 -
华为OD机试统一考试D卷 - 火星文翻译
输入的字符串说明: 字符串为仅由无符号整数和操作符(#、$)组成的计算表达式。根据输入的火星人字符串输出计算结果(结尾不带回车换行)现有一段火星人的字符串报文,请你来翻译并计算结果。火星人字符串表达式(结尾不带回车换行)原创 2024-08-15 09:35:21 · 23 阅读 · 0 评论 -
华为OD机试统一考试D卷 - 二进制数字游戏
小扇和小船今天又玩起来了数字游戏,小船给小扇一个正整数n (1<=n<=1e9),小扇需要找到一个比n大的数字m,使得m和n对应的二进制中1的个数要相同(如4对应二进制100,8对应二进制1000,1的个数都为1),现在求m的最小值。7的二进制111,11的二进制位1011,1的个数相同,且11是满足条件的最小数。2的二进制10,4的二进制位100,1的个数相同,且4是满足条件的最小数。输入:第一行输入一个正整数n(1<=n<=1e9)。输出:输出一个正整数m。原创 2024-08-15 09:27:20 · 21 阅读 · 0 评论 -
华为OD机试统一考试D卷 - 贪吃猴
第一次获取香蕉,无论是从行的开头或者末尾获取,得到的香蕉根数目为1, 但是,从行末尾获取能获取到最优的策略,后面可以直接得到香蕉根数目6和3。只贪吃的猴子,来到一个果园,发现许多串香蕉排成一行,每串香蕉上有若干根香蕉。每串香蕉的根数由数组numbers给出。猴子获取香蕉,每次都只能从行的开头或者末尾获取,并且只能获取N次,求猴子最多能获取多少根香蕉。第二行为数组numbers的值每个数字通过空格分开。全部获取所有的香蕉,因此最终根数为1+2+3=6。第三行输入为N,表示获取的次数。原创 2024-08-15 09:15:24 · 27 阅读 · 0 评论 -
华为OD机试统一考试D卷 - 字符串变换
给定一个字符串s,最多只能进行一次变换,返回变换后能得到的最小字符串(按照字典序进行比较)。说明 abcdef已经是最小字符串,不需要交换。变换规则:交换字符串中任意两个不同位置的字符。说明 a和b进行位置交换,可以得到最小字符串。按照要求进行变换得到的最小字符串。一串小写字母组成的字符串s。s是都是小写字符组成。原创 2024-08-15 09:13:52 · 17 阅读 · 0 评论 -
华为OD机试统一考试D卷 - 最长子串o
给你一个字符串s,字符串s首尾相连成一个环形,请你在环中找出’o’字符出现了偶数次最长子字符串的长度。输入是一串小写字母组成的字符串。原创 2024-08-15 09:11:24 · 20 阅读 · 0 评论 -
华为OD机试统一考试D卷 - 最长子串lox
说明:最长子字符串是”oxdolxl",由于是首尾连接在一起的,所以最后一个x和开头的"是连接在一起的,此字符串包含2个I,2个o,2个x。给你一个字符串 s,字符串s首尾相连成一个环形 ,请你在环中找出’l’、‘o’、‘x’ 字符都恰好出现了偶数次最长子字符串的长度。说明: 这个示例中,字符串“bcbcbc”本身就是最长的因为’I、o、x都出现了0次。说明: 最长字符串之一是"alolobo",它包含I,o各 2 个,以及x 0个。输入是一串小写的字母组成的字符串s。s 只包含小写英文字母。原创 2024-08-15 09:10:12 · 18 阅读 · 0 评论 -
华为OD机试统一考试D卷 - 二叉树计算
左子树表示该节点左侧叶子节点为根节点的一颗新树;右子树表示该节点右侧叶子节点为根节点的一颗新树。请由该二叉树生成一个新的二叉树,它满足其树中的每个节点将包含原始树中的左子树和右子树的和。2行整数,第1行表示二叉树的中序遍历,第2行表示二叉树的前序遍历,以空格分割。1行整数,表示求和树的中序遍历,以空格分割。输出1 -2 0 20 0 6。原创 2024-08-15 09:05:17 · 28 阅读 · 0 评论 -
华为OD机试统一考试D卷 - 分月饼
中秋节,公司分月饼,m个员工,买了n个月饼,m原创 2024-08-14 17:30:51 · 99 阅读 · 0 评论 -
华为OD机试统一考试D卷 - 有效子串
判定规则:S中的每个字符在L中都能找到(可以不连续),且S在L中字符的前后顺序与S中顺序要保持一致。(例如,S="ace"是L="abcde"的一个子序列且有效字符是a、c、e,而"aec"不是有效子序列,且有效字符只有a、e)输入两个字符串S和L,都只包含英文小写字母。S长度<=100,L长度<=500,000。先输入S,再输入L,每个字符串占一行。输入两个字符串S和L,都只包含英文小写字母。S长度<=100,L长度<=500,000。判定S是否是L的有效字串。S串最后一个有效字符在L中的位置。原创 2024-08-14 17:28:48 · 19 阅读 · 0 评论 -
华为OD机试统一考试D卷 - 攀登者2
例如上图中的数组,有3个不同的山峰,登上位置在3的山可以从位置0或者位置6开始,从位置0登到山顶需要消耗体力 1 * 2 + 1 * 2 + 2 * 2 = 8,从山顶返回到地面0需要消耗体力 2 * 1 + 1 * 1 + 1 * 1 = 4 的体力,按照登山路线 0 → 3 → 0 需要消耗体力12。例如:[0,1,2,4,3,1,0,0,1,2,3,1,2,1,0],代表如下图所示的地图,地图中有两个山脉位置分别为 1,2,3,4,5 和 8,9,10,11,12,13,最高峰高度分别为 4,3。原创 2024-08-14 17:22:08 · 19 阅读 · 0 评论 -
华为OD机试统一考试D卷 - 山脉的个数/攀登者1
例如:[0,1,2,4,3,1,0,0,1,2,3,1,2,1,0],代表如下图所示的地图,地图中有两个山脉位置分别为 1,2,3,4,5 和 8,9,10,11,12,13,最高峰高度分别为 4,3。一个山脉可能有多座山峰(高度大于相邻位置的高度,或在地图边界且高度大于相邻的高度)。地图表示为一维数组,数组的索引代表水平位置,数组的元素代表相对海拔高度。其中数组元素0代表地面。说明 山峰所在索引分别为3,10,12。输入为一个整型数组,数组长度大于1。元素3和4 都是山峰,输出2.输出地图中山峰的数量。原创 2024-08-14 17:18:38 · 21 阅读 · 0 评论 -
华为OD机试统一考试D卷 - 田忌赛马
给定两个只包含数字的数组a, b, 调整数组a里面数字的顺序,使得尽可能多的a[i] > b[i]。有两个a数组的排列可以达到最优结果,[12, 20, 11]和[11, 20, 12],故输出2。输入的第一行是数组a中的数字,其中只包含数字,每两个数字之间相隔一个空格,a数组大小不超过10。输入的第一行是数组b中的数字,其中只包含数字,每两个数字之间相隔一个空格,b数组大小不超过10。a无论如何都会全输,故a任意排列都行,输出所有a数组的排列,6种排法。输出所有可以达到最优结果的a数组数量。原创 2024-08-14 17:08:32 · 355 阅读 · 0 评论 -
华为OD机试统一考试D卷 - 最大社交距离
(1<=seatNum<=500),员工的进出顺序seatOrLeave数组,元素值为1,表示进场:元素值为负数,表示出场(特殊:位置0的员工不会离开)座位一排共N个座位,编号分别为[0,N-1].要求员工一个接着一个进入会议室,并且可以在任何时候离开会议室。每当一个员工进入时,需要坐到最大社交距离(最大化自己和其他人的距离的座位);如果有多个这样的座位,则坐到索引最小的那个座位。最后进来员工,他会坐在第几个位置,如果位置已满,则输出-1。例如-4表示坐在位置4的员工离开(保证有员工坐在该座位上)原创 2024-08-14 17:02:11 · 121 阅读 · 0 评论 -
华为OD机试统一考试D卷 - 满足条件的最长子串的长度
如果找不到满足要求的子串,如全是字母或全是数字,则返回-1。2、字母可以在子串中的任意位置;1、只包含 1 个字母(a。字符串(只包含字母和数字)原创 2024-08-14 17:00:00 · 25 阅读 · 0 评论 -
华为OD机试统一考试D卷 - 找朋友
第一个小朋友身高100,站在队尾位置,向队首看,没有比他身高高的小朋友,所以输出第一个值为0。123的好朋友是1位置上的124124的好朋友是2位置上的125125的好朋友是6位置上的126以此类推。请重新生成一个列表,对应位置的输出是每个小朋友的好朋友位置,如果没有看到好朋友,请在该位置用0代替。第i个小朋友可以看到的第一个比自己身高更高的小朋友j,那么j是i的好朋友(要求j > i)。在学校中,N个小朋友站成一队, 第i个小朋友的身高为height[i],输出N个小朋友的好朋友的位置。原创 2024-08-14 16:55:37 · 27 阅读 · 0 评论 -
华为OD机试统一考试D卷 - 数组最大N个数与最小N个数的和
给定一个数组,编写一个函数来计算它的最大N个数与最小N个数的和。你需要对数组进行去重。最大N个数与最小N个数不能有重叠,如有重叠、输入非法返回-1。第三行输入N,N表达需要计算的最大、最小N个数。数组中数字的范围[0, 1000]第二行输入M个数,标识数组内容。输出最大N个数与最小N个数的和。第一行输入M,M标识数组大小。原创 2024-08-14 16:53:43 · 35 阅读 · 0 评论 -
华为OD机试统一考试D卷 - 亲子游戏
宝宝和妈妈参加亲子游戏,在一个二维矩阵(N*N)的格子地图上,宝宝和妈妈抽签决定各自的位置,地图上每个格子有不同的糖果数量,部分格子有障碍物。游戏规则是妈妈必须在最短的时间(每个单位时间只能走一步)到达宝宝的位置,路上的所有糖果都可以拿走,不能走障碍物的格子,只能上下左右走。此地图有两条最短路径可到达宝宝位置,绿色线和黄色线都是最短路径6步,但黄色拿到的糖果更多,9个。输出妈妈在最短到达宝宝位置的时间内最多拿到多少糖果,行末无多余空格。第一行输入为 N,N 表示二维矩阵的大小。此地图妈妈无法到达宝宝位置。原创 2024-08-14 16:24:02 · 228 阅读 · 0 评论