华为机试

西攻城狮北1 年前
python·算法·华为·华为机试·考古问题
【华为机试】2023年真题B卷(python)-考古问题题目描述:考古问题,假设以前的石碑被打碎成了很多块,每块上面都有一个或若干个字符,请你写个程序来把之前石碑上文字可能的组合全部写出来,按升序进行排列。
西攻城狮北1 年前
python·算法·华为·华为机试·计算疫情扩散时间
【华为机试】2023年真题B卷(python)-计算疫情扩散时间题目描述:请根据给定的地图计算,多少天以后,全部区域都会被感染。 如果初始地图上所有区域全部都被感染,或者没有被感染区域,返回-1
西攻城狮北1 年前
python·算法·华为·华为机试·喊七的次数重排
【华为机试】2023年真题B卷(python)-喊七的次数重排题目描述:喊7是一个传统的聚会游戏,N个人围成一圈,按顺时针从1到N编号。 编号为1的人从1开始喊数,下一个人喊的数字为上一个人的数字加1,但是当将要喊出来的数字是7的倍数或者数字本身含有7的话,不能把这个数字直接喊出来,而是要喊”过”。 假定玩这个游戏的N个人都没有失误地在正确的时机喊了”过”,当喊到数字K时,可以统计每个人喊”过”的次数。 现给定一个长度为N的数组,存储了打乱顺序的每个人喊”过”的次数,请把它还原成正确的顺序,即数组的第i个元素存储编号i的人喊”过”的次数。
西攻城狮北1 年前
python·算法·华为·华为机试·解密犯罪时间
【华为机试】2023年真题B卷(python)-解密犯罪时间题目描述:警察在侦破一个案件时,得到了线人给出的可能犯罪时间,形如 “HH:MM” 表示的时刻。 根据警察和线人的约定,为了隐蔽,该时间是修改过的,解密规则为: 利用当前出现过的数字,构造下一个距离当前时间最近的时刻,则该时间为可能的犯罪时间。 每个出现数字都可以被无限次使用。
西攻城狮北1 年前
python·算法·华为·华为机试·出错的或电路
【华为机试】2023年真题B卷(python)-出错的或电路题目描述:某生产门电路的厂商发现某一批次的或门电路不稳定,具体现象为计算两个二进制数的或操作时,第一个二进制数中某两个比特位会出现交换, 交换的比特位置是随机的,但只交换这两个位,其他位不变。 很明显,这个交换可能会影响最终的或结果,也可能不会有影响。 为了评估影响和定位出错的根因,工程师需要研究在各种交换的可能下,最终的或结果发生改变的情况有多少种。
西攻城狮北1 年前
python·算法·华为·华为机试·堆栈中的剩余数字
【华为机试】2023年真题B卷(python)-堆栈中的剩余数字题目描述:向一个空栈中依次存入正整数, 假设入栈元素 n(1<=n<=2^31-1)按顺序依次为 nx…n4、 n3、n2、 n1, 每当元素入栈时,如果 n1=n2+…+ny(y 的范围[2,x],1<=x<=1000),则 n1~ny 全部元素出栈,重新入栈新元素 m(m=2*n1)。 如:依次向栈存入 6、 1、 2、 3, 当存入 6、 1、 2 时,栈底至栈顶依次为[6、1、2];当存入 3时,3=2+1,3、2、1 全部出栈,重新入栈元素 6(6=2*3),此时栈中有元素 6; 因为 6=6,
SD_JZZ1 年前
python·算法·华为od·华为机试
华为OD机试-机器人走迷宫机器人走一个迷宫,给出迷宫的x和y(x*y的迷宫)并且迷宫中有障碍物,输入k表示障碍物有k个,并且会将障碍物的坐标挨个输入. 机器人从0,0的位置走到x,y的位置并且只能向x,y增加的方向走,不能回退. 如代码类注释展示的样子,#表示可以走的方格,0代表障碍,机器人从0,0的位置只能向下或者向前走到出口. 其中会有不可达方格和陷阱方格.不可达方格为第四行前三个,该机器人在行走路径上不可能走到的方格,陷阱方格如第一行最后两个,走进之后则不能抵达终点. 要求: 输出陷阱和不可达方格方格数量
SD_JZZ1 年前
python·算法·华为od·华为机试
华为OD-素数之积RSA加密算法在网络安全世界中无处不在,它利用了极大整数因数分解的困难度,数据越大,安全系数越高,给定一个32位正整数,请对其进行因数分解,找出是哪两个素数的乘积。
SD_JZZ1 年前
python·算法·华为od·华为机试
华为OD-整数对最小和给定两个整数数组array1、array2,数组元素按升序排列。假设从array1、array2中分别取出一个元素可构成一对元素,现在需要取出k对元素,并对取出的所有元素求和,计算和的最小值
SD_JZZ1 年前
python·算法·华为od·华为机试
华为OD-分积木/分苹果哥哥弟弟分一堆积木,每块积木重量不同。弟弟要求平分两组,每组数量可以不同但总重量必须相等。 然而弟弟只会二进制并且加法不进位。例如三块积木 3,5,6 分成两组 [3] 和 [5,6] 弟弟认为 5(二进制1001)加上6(二进制1010)是0011: 1001 1010 ------- 0011 然后 3 的二进制也是 0011,所以弟弟认为两组积木等重,接受这种分配方案。哥哥实际能分到 5+6=11 块积木。 要求输出哥哥能拿的最大实际重量。如果给定的积木没法按弟弟视角分成重量相等的两组,就输出‘NO
SD_JZZ1 年前
python·算法·华为od·华为机试
华为OD-第K长的连续字母字符串长度给定一个字符串,只包含大写字母,求在包含同一字母的子串中,长度第 k 长的子串的长度,相同字母只取最长的那个子串。
SD_JZZ1 年前
python·算法·华为od·华为机试
华为OD-字符串加密有一种技巧可以对数据进行加密,它使用一个单词作为它的密匙。下面是它的工作原理:首先,选择一个单词作为密匙,如TRAILBLAZERS。如果单词中包含有重复的字母,只保留第1个,将所得结果作为新字母表开头,并将新建立的字母表中未出现的字母按照正常字母表顺序加入新字母表。如下所示: