自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(35)
  • 收藏
  • 关注

原创 自己看--华为od--TLV解码

TLV编码是按[Tag Length Value]格式进行编码的,一段码流中的信元用Tag标识,Tag在码流中唯一不重复,Length表示信元Value的长度,Value表示信元的值。码流以某信元的Tag开头,Tag固定占一个字节,Length固定占两个字节,字节序为小端序。现给定TLV格式编码的码流,以及需要解码的信元Tag,请输出该信元的Value。输入的第二行为一个字符串,表示待解码的16进制码流,字节之间用空格分隔。第一个信元的Tag是32,信元长度为1(01 00,小端序表示为1);

2024-09-12 17:12:44 143

原创 自己看---华为od--敏感字段加密

请对指定索引的敏感字段进行加密,替换为******(6个*),并删除命令字前后多余的下划线_。如果无法找到指定索引的命令字,输出字符串ERROR。可以通过两个双引号””来标识包含下划线_的命令字或空命令字(仅包含两个双引号的命令字),双引号不会在命令字内部出现;字符串长度小于等于127字节,只包含大小写字母,数字,下划线和偶数个双引号;输出处理后的命令字符串,如果无法找到指定索引的命令字,输出字符串ERROR。输入为两行,第一行为命令字索引K(从0开始),第二行为命令字符串S。

2024-09-12 16:04:42 137

原创 自己看--华为od--靠谱的车

出租车司机解释说他不喜欢数字4,所以改装了计费表,任何数字位置遇到数字4就直接跳过,其余功能都正常。出于职业敏感,他注意到这辆出租车的计费表有点问题,总是偏大。小明识破了司机的伎俩,准备利用自己的学识打败司机的阴谋。给出计费表的表面读数,返回实际产生的费用。一个数字,表示实际产生的费用。15表示实际产生的费用其实只有15块钱。81表示实际产生的费用其实只有81块钱。只有一行,数字N,表示里程表的读数。4表示实际产生的费用其实只有4块钱。100表示计费表的表面读数。17表示计费表的表面读数。

2024-09-09 14:47:05 168

原创 自己看---华为od--构成正方形的数量

输入N个互不相同的二维整数坐标,求这N个坐标可以构成的正方形数量。[内积为零的的两个向量垂直]之后的 N 行输入为坐标x y以空格分隔,x,y为整数,-10<=x, y<=10。第一行输入为N,N代表坐标数量,N为正整数。输出可以构成的正方形数量。

2024-09-09 14:13:20 335

原创 自己看--华为od-猜字谜

小王设计了一个简单的猜字谜游戏,游戏的谜面是一个错误的单词,比如nesw,玩家需要猜出谜底库中正确的单词。谜面是多个单词,都需要找到对应的谜底,如果找不到的话,返回”not found”变换顺序以后一样的,比如通过变换w和e的顺序,“nwes”跟“news”是可以完全对应的;字母去重以后是一样的,比如“woood”和“wood”是一样的,它们去重后都是“wod”单词的数量N的范围:0 < N < 1000。单词的长度P的范围:0 < P < 20。匹配到的正确单词列表,以”,“分隔。

2024-09-04 16:13:19 441

原创 自己看---华为OD--boss的收入

分销关系和收入:[[分销id 上级分销id 收入], [分销id 上级分销id 收入], [分销id 上级分销id 收入]]一个XX产品行销总公司,只有一个boss,其有若干一级分销,一级分销又有若干二级分销,每个分销只有唯一的上级分销。规定,每个月,下级分销需要将自己的总收入(自己的+下级上交的)每满100元上交15元给自己的上级。现给出一组分销的关系,和每个分销的收入,请找出boss并计算出这个boss的收入。收入199元(99元不够100),上交15元;给定的输入数据都是合法的,不存在环路,重复的。

2024-09-04 15:43:00 326

原创 自己看--华为od-贪心的商人

针对第一件商品,商人在第一天的价格是 item_price[0][0] = 1 时买入 item[0] 件,在第三天 item_price[0][2] = 3 的时候卖出,获利最大是 8;针对第三件商品,商人在第一天价格是 item_price[2][0] = 1 时买入 item[2] 件,在第二天 item_price[2][0] = 5 的时候卖出,获利最大是24;4 5 6 // 输入仓库限制每件商品的最大持有数量是 item[index]1 2 3 // 输入第一件商品每天的价格。

2024-09-03 18:20:51 298

原创 自己看---华为od-数大雁

2.大雁会依次完整发出”quack”,即字符串中’q’ ,‘u’, ‘a’, ‘c’, ‘k’ 这5个字母按顺序完整存在才能计数为一只大雁。一个字符串,包含大雁quack的叫声。1 <= 字符串长度 <= 1000,字符串中的字符只有’q’, ‘u’, ‘a’, ‘c’, ‘k’。3.如果字符串不是由’q’, ‘u’, ‘a’, ‘c’, ‘k’ 字符组合而成,或者没有找到一只大雁,请返回-1。一群大雁往南飞,给定一个字符串记录地面上的游客听到的大雁叫声,请给出叫声最少由几只大雁发出。

2024-09-03 17:48:34 632

原创 自己看-----华为od之斗地主之顺子

例如:{3,4,5,6,7}、{3,4,5,6,7,8,9,10,J,Q,K,A}都是有效的顺子;而{J,Q,K,A,2}、 {2,3,4,5,6}、{3,4,5,6}、{3,4,5,6,8}等都不是顺子。在斗地主扑克牌游戏中, 扑克牌由小到大的顺序为:3,4,5,6,7,8,9,10,J,Q,K,A,2,玩家可以出的扑克牌阵型有:单张、对子、顺子、飞机、炸弹等。如果存在多个顺子,请每行输出一个顺子,且需要按顺子的第一张牌的大小(必须从小到大)依次输出。如果没有满足出牌规则的顺子,请输出No。

2024-09-02 19:12:10 353

原创 自己练习用---流浪地球

当然最终所有的发动机都会被启动。3.如果在时刻 1 一个发动机被启动,下一个时刻 2 与之相邻的两个发动机就会被“关联启动”E 代表计划手动启动的发动机总个数,1 ≤ E ≤ 1000,E ≤ N。4.如果准备启动某个发动机时,它已经被启动了,则什么都不用做。2.发动机启动的方式分为“手动启动”和“关联启动”两种方式。N 代表部署发动机的总个数,1 < N ≤ 1000。T 代表发动机的手动启动时刻,0 ≤ T ≤ N。P 代表次发动机的位置编号,0 ≤ P < N。N 代表最后被启动的发动机个数。

2024-08-28 19:31:48 162

原创 华为OD----最大坐标值、小明的幸运数

总共2个指令,幸运数为1,按照指令行进,依次如下游戏开始前,站在坐标轴原点,此时坐标值为0;整个游戏过程中,小明所处的坐标值依次为[0, -5, -3],最大坐标值为0。异常情况下输出:12345。指令为-5,正好等于幸运数,后退5+1=6步,此时坐标值为-6;指令为1,正好等于幸运数,前进1+1=2步,此时坐标值为-3;[0, -6, -5, 1, 1, -6],最大坐标值为1。指令为0,既不前进,也不后退,此时坐标值为1;指令为-5,后退5步,此时坐标值为-5;指令为-7,后退7步,此时坐标值为-6。

2024-08-11 19:56:02 243

原创 华为OD---手机App防沉迷系统

举例1: (1) 注册App3前 image (2) App3注册时段和App2有冲突 image (3) App3优先级高,系统接受App3的注册,自动注销App2的注册 image 举例2: (1) 注册App4 image (2) App4和App2及App3都有冲突,优先级比App2高,但比App3低,这种场景下App4注册不上,最终的注册效果如下 image。请编程实现,根据输入数据注册App,并根据输入的时间点,返回时间点使用的App名称,如果该时间点没有注册任何App,请返回字符串“NA”。

2024-08-11 18:50:39 422

原创 华为OD-----多段线数据压缩

上图中的多线段可以用下面的坐标串表示:(2,8),(3,7),(3,6),(3,5),(4,4),(5,3),(6,2),(7,3),(8,4),(7,5)。但可以发现,这种表示不是最简的,其实只需要存储6个蓝色的关键点即可,它们是线段的起点、拐点、终点,而剩下4个点是冗余的。所有数字以空格分隔,每两个数字一组,第一个数字是行号,第二个数字是列号;现在,请根据输入的包含有冗余数据的多线段坐标列表,输出其最简化的结果。压缩后的最简化坐标列表,和输入数据的格式相同。输出的坐标相对顺序不能变化。

2024-07-21 14:46:09 355

原创 华为OD---堆内存申请

堆中已使用的两块内存是偏移从0开始的1字节和偏移从3开始的2字节,空闲的两块内存是偏移从1开始2个字节和偏移从5开始95字节,根据分配原则,新申请的内存应从1开始分配1个字节,所以输出偏移为1。有一个总空间为100字节的堆,现要从中新申请一块内存,内存分配原则为:优先紧接着前一块已使用内存,分配空间足够且最接近申请大小的空闲内存。表示 0 偏移地址开始的 1 个字节和 3 偏移地址开始的 2 个字节已被分配,其余内存空闲。第1行是1个整数,表示期望申请的内存字节数。若申请成功,输出申请到内存的偏移;

2024-07-19 20:58:59 188

原创 华为OD----灰度图存储

从第三个数开始,每两个数一组,每组第一个数是灰阶值,第二个数表示该灰阶值从左到右,从上到下(可理解为二维数组按行存储在一维矩阵中)的连续像素个数。黑白图像常采用灰度图的方式存储,即图像的每个像素填充一个灰色阶段值,256阶灰图是一个灰阶值取值范围为 0~255 的灰阶矩阵,0表示全黑,255表示全白,范围内的其他值表示不同的灰度。请从输入的压缩数恢复灰度图原始矩阵,并返回指定像素的灰阶值。系统保证输入的像素坐标是合法的,不会出现不在矩阵中的像素。输出数据表示的灰阶矩阵的指定像素的灰阶值。

2024-07-19 14:20:41 207

原创 华为OD---字符串变换最小字符串

给定一个字符串s,最多只能进行一次变换,返回变换后能得到的最小字符串(按照字典序进行比较)。变换规则:交换字符串中任意两个不同位置的字符。abcdef已经是最小字符串,不需要交换。a和b进行位置交换,可以得到最小字符串。一串小写字母组成的字符串s。一串小写字母组成的字符串s。s是都是小写字符组成。

2024-07-19 13:43:13 192

原创 华为OD-----螺旋数字矩阵

给出数字个数 n (0 < n ≤ 999)和行数 m(0 < m ≤ 999),从左上角的 1 开始,按照顺时针螺旋向内写方式,依次写出2,3,…,n,最终形成一个 m 行矩阵。疫情期间,小明隔离在家,百无聊赖,在纸上写数字玩。3个数字写5行,只有一列,数字不够用*号填充。两个整数,空格隔开,依次表示 n、m。数字不够时,使用单个 * 号占位。填充数字时优先填充外部。每行数字的个数一样多。

2024-07-18 20:04:31 348

原创 华为OD-----内存冷热标记

第二行为访存序列,空格分隔的 N 个内存页框号,页面号范围 0 ~ 65535,同一个页框号可能重复出现,出现的次数即为对应框号的频次。一种典型的方案是基于内存页的访问频次进行标记,如果统计窗口内访问次数大于等于设定阈值,则认为是热内存页,否则是冷内存页。内存页1和内存页2均被访问了5次,达到了阈值5,因此热内存页有2个。如果第一行 > 0,则接下来按照访问频次降序输出内存页框号,一行一个,频次一样的页框号,页框号小的排前面。第一行输出标记为热内存的内存页个数,如果没有被标记的热内存页,则输出 0。

2024-07-15 19:20:19 215

原创 华为OD-----开源项目热榜、开源项目热度榜单

第一行输入为N,表示开源项目的个数,0 < N <100。

2024-07-15 16:16:14 380

原创 华为OD------智能成绩表

第 3 行开始的 n 行,每行包含一个学生的姓名和该生 m 个科目的成绩(空格隔开)输出一行,按成绩排序后的学生名字,空格隔开。第n+2行,输入用作排名的科目名称。若科目不存在,则按总分进行排序。第 1 行输入两个整数,学生人数 n 和科目数量 m。第 2 行输入 m 个科目名称,彼此之间用空格隔开。科目名称只由英文字母构成,单个长度不超过10个字符。成绩是0~100的整数,依次对应第2行种输入的科目。学生姓名只由英文字母构成,长度不超过10个字符。科目的出现顺序和后续输入的学生成绩一一对应。

2024-07-15 14:13:21 211

原创 华为OD------整型数组按个位值排序

给定一个非空数组(列表),其元素数据类型为整型,请按照数组元素十进制最低位从小到大进行排序,十进制最低位相同的元素,相对位置保持不变。给定一个非空数组,其元素数据类型为32位有符号整数,数组长度[1, 1000]当数组元素为负值时,十进制最低位等同于去除符号位后对应十进制值最低位。

2024-07-14 20:31:41 84

原创 华为OD----最大N个数与最小N个数的和

给定一个数组,编写一个函数来计算它的最大N个数与最小N个数的和。你需要对数组进行去重。最大2个数[100,95],最小2个数[83,64], 输出为342。最大2个数[4,3],最小2个数[3,2], 有重叠输出为-1。最大N个数与最小N个数不能有重叠,如有重叠,输入非法返回-1。第三行输入N,N表达需要计算的最大、最小N个数。数组中数字范围[0, 1000]第一行输入M, M标识数组大小。第二行输入M个数,标识数组内容。输出最大N个数与最小N个数的和。

2024-07-14 19:40:12 245

原创 华为OD-----连续字母长度

给定一个字符串,只包含大写字母,求在包含同一字母的子串中,长度第 k 长的子串的长度,相同字母只取最长的那个子串。三个子串长度均为1,所以此时k = 1,k=2,k=3这三种情况均输出1。第二多的还是A,两次,但A已经存在最大连续次数三次,故不考虑;第二多的是H,3次,但是H已经存在4个连续的,故不考虑;只含有3个包含同一字母的子串,小于k,输出-1。同一字母连续出现的最多的是A和H,四次;输出连续出现次数第k多的字母的次数。同一字母连续出现的最多的是A,三次;下个最长子串是B,所以输出1。

2024-07-14 16:28:30 194

原创 华为OD-----字符串筛选排序

k如果大于字符串长度则输出最大ASCII码值的字母所在字符串的位置索引。k如果大于字符串长度则输出最大ASCII码值的字母所在字符串的位置索引。如果第k个最小ASCII码值的字母存在重复 则输出该字母的最小位置索引。输出该字母所在字符串中的位置索引(字符串的第一个位置索引为0)输出字符串中第k个最小ASCII码值的字母所在字符串的位置索引。F在字符串中位置索引为5(0为字符串的第一个字母位置索引)查找字符串中第K个最小ASCII码值的字母(k>=1)如果有重复字母则输出字母的最小位置索引。

2024-07-13 14:46:10 177

原创 华为OD-----英文输入法

从用户已输入英文语句”The furthestdistance in the world, Is not between life and death, But when I stand in frontof you, Yet you dont know that I love you.”中提炼出的单词,符合“f”作为前缀的,有“furthest”和“front”,按字典序排序并在单词间添加空格后输出,结果为“front furthest”。缩略形式如”don’t”,判定为两个单词,”don”和”t”

2024-07-13 13:39:00 238

原创 华为OD----字符串分割(二)

给定一个非空字符串S,其被N个‘-’分隔成N+1的子串,给定正整数K,要求除第一个子串外,其余的子串每K个字符组成新的子串,并用‘-’分隔。反之,如果它含有的大写字母比小写字母多,则将这个子串的所有小写字母转换为大写字母;对于新组成的每一个子串,如果它含有的小写字母比大写字母多,则将这个子串的所有大写字母转换为小写字母;子串为12abc、abCABc、4aB@,第一个子串保留,子串为12abc、abCABc、4aB@,第一个子串保留,后面的子串每3个字符一组为abC、ABc、4aB、@,

2024-07-12 16:15:28 164

原创 华为OD-- 按身高和体重排队

n)进行标识,现需要按照身高由低到高排列,对身高相同的人,按体重由轻到重排列;对于身高体重都相同的人,维持原有的编号顺序关系。请输出排列后的学生编号。第一个序列中的数值代表身高,第二个序列中的数值代表体重。1和3的身高体重都相同,需要按照原有位置关系让1排在3前面,而不是3 1 2。输出的第一个数字2表示此人原始编号为2,即身高为100,体重为30的这个人。由于他和编号为1的人身高一样,但体重更轻,因此要排在1前面。排列结果,每个数值都是原始序列中的学生编号,编号从1开始。

2024-07-11 16:03:37 176

原创 华为OD----API集群负载统计

某个产品的RESTful API集合部署在服务器集群的多个节点上,近期对客户端访问日志进行了采集,需要统计各个API的访问频次,根据热点信息在服务器节点之间做负载均衡,现在需要实现热点信息统计查询功能。RESTful API是由多个层级构成,层级之间使用 / 连接,如 /A/B/C/D 这个地址,A属于第一级,B属于第二级,C属于第三级,D属于第四级。接下来N行,每一行为一个RESTful API的URL地址,约束地址中仅包含英文字母和连接符 / ,最大层级为10,每层级字符串最大长度为10。

2024-07-11 12:35:38 174

原创 华为OD---密码解密(python版本)

映射的规则(‘a’ ~ ‘i’)分别用(‘1’ ~ ‘9’)表示;(‘j’ ~ ‘z’)分别用(“10*” ~ “26*”)表示。给定一段“密文”字符串 s,其中字符都是经过“密码本”映射的,现需要将“密文”解密并输出。翻译后的文本长度在100以内。约束:映射始终唯一。

2024-07-04 20:17:27 178

原创 华为OD题目:数组去重和排序

给定一个乱序的数组,删除所有的重复元素,使得每个元素只出现一次,并且按照出现的次数从高到低进行排序,相同出现次数按照第一次出现顺序进行先后排序。数组大小不超过100 数组元素值大小不超过100。

2024-06-02 09:58:57 108

原创 南邮涂色问题

种颜色给网格上色,需要确保相邻格子颜色不同。请问一共有多少种上色方案呢?现在有一张网格,一共 3。一行一个整数,表示方案数。

2024-03-17 11:59:55 614 1

原创 十进制转换任意进制

第一行指出以下一共有多少组数据,后续每行包含两个整数N和R,以空格分隔,-100000≤N≤100000,2≤R≤16,R≠10。将一个十进制数N转换成R进制数输出,2≤R≤16,R≠10。每行给出转换后的R进制数。

2024-03-17 09:32:23 568

原创 新对称素数问题

输入:输入数据两行,第一行一个整数n,满足1<n<60。第二行有n个的正整数x (0<x<2^32),以空格分隔。对于每个x,如果该数是不大于五位数的对称素数,则输出“Yes”,否则输出“No”。每个判断结果单独列一行。判断一个数是否为对称且不大于五位数的素数。请注意Yes和No首字母需要大写。

2024-03-17 02:50:13 393

原创 小明喝可乐

小明是个可乐重度爱好者,平日里没事就喜欢喝可乐。今天,他最喜欢喝的崂山可乐(小明是个狠人)更新了可乐瓶换可乐活动,即每集齐 k个可乐瓶,则赠送 1瓶免费的可乐。现在,小明正好手上有 n 瓶可乐,他想知道他最多能够喝多少瓶,可是他编程水平不如你,所以他想请你帮他写个程序算一下。输入共一行,包含两个整数 n 和 k,分别表示小明手上的可乐数量和满赠活动中每多少个可乐瓶可以获得一瓶免费的可乐。【温馨提示:这不是脑经急转弯,小明不可以借可乐瓶,也不可以花钱另外买可乐喝。瓶新的可乐喝,最后再拿新的 3。

2024-03-17 01:20:20 329 1

原创 【南邮操作系统实验】页面置换算法 (FIFO、LRU、OPTP)

写在前面操作系统内存管理的页面置换算法,因为懒得看老师给的代码(太长了而且据说好像还有错误)就自己写了一个python版本的,因为比较菜,所以写的一般般,仅供大伙参考一下Orzpython版本的代码如下:import random#生成n个页面请求def Page_Request(n): pagerequest_list = [] for i in range(n): tmp = random.randint(0,20) pagereques

2021-11-28 16:04:17 1147

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除