草庐IT

【华为OD机试真题 java、python】无向图染色问题(100%通过+复盘思路)

代码请进行一定修改后使用,本代码保证100%通过率,本题提供了java和python两种代码。复盘思路在文章的最后题目描述众所周知红黑树是一种平衡树,它最突出的特性就是不能有两个相邻的红色结点。那我们定义一个红黑图,也就是一张无向图中,每个节点可能有红黑两种颜色,但我们必须保证没有两个相邻的红色节点。现在给出一张未染色的图,只能染红黑两色,问总共有多少种染色方案使得它成为一个红黑图。输入描述第一行两个数字n,m,表示图中有n个节点和m条边。接下来共计m行,每行两个数字st,表示一条连接节点s和节点t的边,节点编号为[0,n)。输出描述一个数字表示总的染色方案数。示例1输入输出示例仅供调试,后台

【华为OD机试真题 java、python】无向图染色问题(100%通过+复盘思路)

代码请进行一定修改后使用,本代码保证100%通过率,本题提供了java和python两种代码。复盘思路在文章的最后题目描述众所周知红黑树是一种平衡树,它最突出的特性就是不能有两个相邻的红色结点。那我们定义一个红黑图,也就是一张无向图中,每个节点可能有红黑两种颜色,但我们必须保证没有两个相邻的红色节点。现在给出一张未染色的图,只能染红黑两色,问总共有多少种染色方案使得它成为一个红黑图。输入描述第一行两个数字n,m,表示图中有n个节点和m条边。接下来共计m行,每行两个数字st,表示一条连接节点s和节点t的边,节点编号为[0,n)。输出描述一个数字表示总的染色方案数。示例1输入输出示例仅供调试,后台

华为OD机试 - 新学校选址(Java & JS & Python)

题目描述为了解新学期学生暴涨的问题,小乐村要建立所新学校,考虑到学生上学安全问题,需要所有学生家到学校的距离最短。假设学校和所有学生家都走在一条直线之上,请问学校建立在什么位置,能使得到学校到各个学生家的距离和最短。输入描述第一行:整数n取值范围[1,1000],表示有n户家庭。第二行:一组整数m取值范围[0,10000],表示每户家庭的位置,所有家庭的位置都不相同。输出描述一个整数,确定的学校的位置。如果有多个位置,则输出最小的。用例输入5020401030输出20说明20到各个家庭的距离分别为200201010,总和为60,最小

华为OD机试 - 新学校选址(Java & JS & Python)

题目描述为了解新学期学生暴涨的问题,小乐村要建立所新学校,考虑到学生上学安全问题,需要所有学生家到学校的距离最短。假设学校和所有学生家都走在一条直线之上,请问学校建立在什么位置,能使得到学校到各个学生家的距离和最短。输入描述第一行:整数n取值范围[1,1000],表示有n户家庭。第二行:一组整数m取值范围[0,10000],表示每户家庭的位置,所有家庭的位置都不相同。输出描述一个整数,确定的学校的位置。如果有多个位置,则输出最小的。用例输入5020401030输出20说明20到各个家庭的距离分别为200201010,总和为60,最小

【华为OD机试真题 C++语言】68、矩阵扩散 | 机试题+算法思路+考点+代码解析

文章目录一、题目🎃题目描述🎃输入输出🎃样例1二、思路参考三、代码参考作者:KJ.JK🍂个人博客首页:KJ.JK 🍂专栏介绍:华为OD机试真题汇总,定期更新华为OD各个时间阶段的机试真题,每日定时更新,本专栏将使用C++语言进行更新解答,包含真题,思路分析,代码参考,欢迎大家订阅学习一、题目🎃题目描述存在一个m*n的二维数组,其成员取值范围为0或1 其中值为1的成员具备扩散性,每经过1S,将上下左右值为0的成员同化为1。 二维数组的成员初始值都为0,将第[i,

华为OD机试 - 打印机队列(Java & JS & Python)

题目描述有5台打印机打印文件,每台打印机有自己的待打印队列。因为打印的文件内容有轻重缓急之分,所以队列中的文件有1~10不同的代先级,其中数字越大优先级越高。打印机会从自己的待打印队列中选择优先级最高的文件来打印。如果存在两个优先级一样的文件,则选择最早进入队列的那个文件。现在请你来模拟这5台打印机的打印过程。输入描述每个输入包含1个测试用例,每个测试用例第一行给出发生事件的数量N(0接下来有N行,分别表示发生的事件。共有如下两种事件:“INPNUM”,表示有一个拥有优先级NUM的文件放到了打印机P的待打印队列中。(0“OUTP”,表示打印机P进行了一次文件打印,同时该文件从待打印队列中取出。

华为OD机试 - 打印机队列(Java & JS & Python)

题目描述有5台打印机打印文件,每台打印机有自己的待打印队列。因为打印的文件内容有轻重缓急之分,所以队列中的文件有1~10不同的代先级,其中数字越大优先级越高。打印机会从自己的待打印队列中选择优先级最高的文件来打印。如果存在两个优先级一样的文件,则选择最早进入队列的那个文件。现在请你来模拟这5台打印机的打印过程。输入描述每个输入包含1个测试用例,每个测试用例第一行给出发生事件的数量N(0接下来有N行,分别表示发生的事件。共有如下两种事件:“INPNUM”,表示有一个拥有优先级NUM的文件放到了打印机P的待打印队列中。(0“OUTP”,表示打印机P进行了一次文件打印,同时该文件从待打印队列中取出。

2023华为OD机试真题【计算数组中心位置】【Java Python C++】

题目描述给你一个整数数组nums,请计算数组的中心位置。数组的中心位置是数组的一个下标,其左侧所有元素相乘的积等于右侧所有元素相乘的积。数组第一个元素的左侧积为1,最后一个元素的右侧积为1。如果数组有多个中心位置,应该返回最靠近左边的那一个,如果数组不存在中心位置,返回-1。输入253656输出3题意解读左侧积:该元素左侧所有元素的乘积;右侧积:该元素右侧所有元素的乘积;例如元素3,他的左侧积是2*5=10.他的右侧积是6*5*6=180数组的中心位置指的是:该元素的左侧积等于右侧积解题思路遍历整个数组,在遍历的过程中,计算当前元素左侧所有元素的乘积(leftProduct)和右侧所有元素乘积

华为OD在线编程题准备

阶段一:算法基础复习,可参考https://labuladong.gitee.io/algo/,或者看视频学https://www.bilibili.com/video/BV1EN4y1M79p针对各知识点,在力扣刷题学习(一定要由易到难,不要一下子掉坑里了)https://www.nowcoder.com/discuss/959652?order=1&pos=23&page=1阶段二:OD真题练习。大部分进来的同事,都说这里有2道以上原题。虽然OD的题目和leecode题目不一样,但思路都类似。https://wiki.amoscloud.com/zh/ProgramingPractice/

华为OD在线编程题准备

阶段一:算法基础复习,可参考https://labuladong.gitee.io/algo/,或者看视频学https://www.bilibili.com/video/BV1EN4y1M79p针对各知识点,在力扣刷题学习(一定要由易到难,不要一下子掉坑里了)https://www.nowcoder.com/discuss/959652?order=1&pos=23&page=1阶段二:OD真题练习。大部分进来的同事,都说这里有2道以上原题。虽然OD的题目和leecode题目不一样,但思路都类似。https://wiki.amoscloud.com/zh/ProgramingPractice/