
算法个人练习笔记
文章平均质量分 94
算法个人练习笔记
优惠券已抵扣
余额抵扣
还需支付
¥9.90
¥99.00
购买须知?
本专栏为图文内容,最终完结不会低于15篇文章。
订阅专栏,享有专栏所有文章阅读权限。
本专栏为虚拟商品,基于网络商品和虚拟商品的性质和特征,专栏一经购买无正当理由不予退款,不支持升级,敬请谅解。
步入烟尘
多年实战经验,致力于解决广大程序员的问题,文章内基本都有关键核心代码,欢迎学习。
展开
-
华为OD机试题库大全【JAVA&Python&C++&JS题解】
OD机试是一项重要环节,用于评估应聘者的编程能力和算法理解程度。在申请OD岗位时,应聘者需要首先通过机试的考核,才有机会进入后续的面试环节。机试的内容主要包括算法和数据结构的应用,题型可能涵盖递归、分治、单调栈、并查集、滑动窗口、前缀和、查分、二分查找、BFS广搜以及DFS深搜等多种算法。考试形式为在线答题,题目难度和具体内容会根据不同的招聘岗位而有所调整。华为OD机试共有三道题,前两道题的总分是100分,第三道题总分是200分,考试时长为150分钟。原创 2024-03-27 00:05:45 · 1641 阅读 · 0 评论 -
编写函数fun,函数的功能是:根据以下公式计算s,计算结果作为函数值返回;n通过形参传入。
编写函数fun,函数的功能是:根据以下公式计算s,计算结果作为函数值返回;n通过形参传入。原创 2024-09-03 15:30:46 · 323 阅读 · 2 评论 -
请编写一个函数int fun(int*s,int t,int *k),用来求出数组的最大元素在数组中的下标并存放在k所指的存储单元中。
请编写一个函数int fun(int*s,int t,int *k),用来求出数组的最大元素在数组中的下标并存放在k所指的存储单元中。原创 2024-09-03 15:30:16 · 139 阅读 · 0 评论 -
请编写一个函数void fun(char a[],char b[],int n),其功能是:删除一个字符串中指定下标的字符。其中,a指向原字符串,删除后的字符串存放在b所指的数组中,n中存放指定的
请编写一个函数void fun(char a[],char b[],int n),其功能是:删除一个字符串中指定下标的字符。其中,a指向原字符串,删除后的字符串存放在b所指的数组中,n中存放指定的原创 2024-09-03 15:29:38 · 591 阅读 · 0 评论 -
请编写一个函数void fun(int m,int k,int xx[]),该函数的功能是:将大于整数m且紧靠m的k个素数存入xx所指的数组中。
请编写一个函数void fun(int m,int k,int xx[]),该函数的功能是:将大于整数m且紧靠m的k个素数存入xx所指的数组中。原创 2024-09-03 15:25:52 · 138 阅读 · 0 评论 -
请编写一个函数void fun(char *tt,int pp[]),统计在tt字符串中“a”到“z”26个字母各自出现的次数,并依次放在pp所指数组中。
请编写一个函数void fun(char *tt,int pp[]),统计在tt字符串中“a”到“z”26个字母各自出现的次数,并依次放在pp所指数组中。原创 2024-09-03 15:25:22 · 604 阅读 · 0 评论 -
请编写函数void fun(int x,int pp[],int *n),它的功能是:求出能整除x且不是偶数的各整数,并按从小到大的顺序放在pp所指的数组中,这些除数的个数通过形参n返回。
本文含有题目的题干、解题思路、解题思路、解题代码、代码解析。本文分别包含C语言、C++、Java、Python四种语言的解法和详细的解析。原创 2024-08-24 23:34:07 · 192 阅读 · 7 评论 -
请编写一个函数,用来删除字符串中的所有空格。 例如,输入asd af aa z67,则输出为asdafaaz67。
请编写一个函数,用来删除字符串中的所有空格。 例如,输入asd af aa z67,则输出为asdafaaz67。原创 2024-08-24 23:33:20 · 155 阅读 · 1 评论 -
请编写函数fun,它的功能是:求出1到1000之内能被7或11整除、但不能同时被7和11整除的所有整数并将它们放在a所指的数组中,通过n返回这些数的个数。
请编写函数fun,它的功能是:求出1到1000之内能被7或11整除、但不能同时被7和11整除的所有整数并将它们放在a所指的数组中,通过n返回这些数的个数。原创 2024-08-24 23:32:38 · 168 阅读 · 0 评论 -
m个人的成绩存放在score数组中,请编写函数fun,它的功能是:将低于平均分的人数作为函数值返回,将低于平均分的分数放在below所指的数组中。
m个人的成绩存放在score数组中,请编写函数fun,它的功能是:将低于平均分的人数作为函数值返回,将低于平均分的分数放在below所指的数组中。原创 2024-08-24 14:43:17 · 74 阅读 · 0 评论 -
N名学生的成绩已在主函数中放入一个带头节点的链表结构中,h指向链表的头节点。
N名学生的成绩已在主函数中放入一个带头节点的链表结构中,h指向链表的头节点。请编写函数fun,它的功能是:找出学生的最高分,由函数值返回。原创 2024-08-24 14:42:46 · 170 阅读 · 0 评论 -
智能成绩表【华为OD机试JAVA&Python&C++&JS题解】
智能成绩表【华为OD机试JAVA题解】小明来到学校当老师,需要将学生按考试总分或单科分数进行排名,你能帮帮他吗?输入描述第 1 11 行输入两个整数,学生人数 n nn 和科目数量 m mm。($0 < n < 100,0 < m < 10 $)第 2 22 行输入 m mm 个科目名称,彼此之间用空格隔开。科目名称只由英文字母构成,单个长度不超过 10 1010 个字符,科目的出现顺序和后续输入的学生成绩一一对应,不会出现重复的科目名称。第 3 33 行开始的 n nn 行,每行包含一个学生的姓名原创 2024-05-04 13:00:00 · 738 阅读 · 0 评论 -
测试用例执行计划【华为OD机试JAVA&Python&C++&JS题解】
测试用例执行计划【华为OD机试JAVA题解】某个产品当前迭代周期内有N个特性( F1,F2,…FN)需要进行覆盖测试,每个特性都被评估了对应的优先级,特性使用其ID作为下标进行标识。设计了M个测试用例(T1,T2…,TM ),每个用例对应了一个覆盖特性的集合,测试用例使用其ID作为下标进行标识,测试用例的优先级定义为其覆盖的特性的优先级之和。在开展测试之前,需要制定测试用例的执行顺序,规则为:优先级大的用例先执行,如果存在优先级相同的用例,用例ID小的先执行。输入描述:第一行输入为N和M,N表示特性的原创 2024-05-04 16:45:00 · 671 阅读 · 0 评论 -
二维伞的雨滴效应【华为OD机试JAVA&Python&C++&JS题解】
二维伞的雨滴效应【华为OD机试JAVA&Python&C++&JS题解】普通的伞在二维平面世界中,左右两侧均有一条边,而两侧伞边最下面各有一个伞坠子,雨滴落到伞面,逐步流到伞坠处,会将伞坠的信息携带并落到地面,随着日积月累,地面会呈现伞坠的信息。1、为了模拟伞状雨滴效应,用二叉树来模拟二维平面伞(如下图所示),现在输入一串正整数数组序列(不含0,数组成员至少是1个),若此数组序列是二叉搜索树的前序遍历的结果,那么请输出一个返回值1,否则输出0.2、同时请将此序列构成的伞状效应携带到地面的数字信息输出原创 2024-04-18 11:58:04 · 1300 阅读 · 0 评论 -
比赛的冠亚季军【华为OD机试JAVA&Python&C++&JS题解】
比赛的冠亚季军【华为OD机试JAVA&Python&C++&JS题解】有N(3原创 2024-04-17 11:54:02 · 708 阅读 · 0 评论 -
迷宫问题【华为OD机试JAVA&Python&C++&JS题解】
迷宫问题【华为OD机试JAVA&Python&C++&JS题解】它表示一个迷宫,其中的1表示墙壁,0表示可以走的路,只能横着走或竖着走,不能斜着走,要求编程序找出从左上角到右下角的路线。入口点为[0,0],既第一格是可以走的路。数据范围: 2≤n,m≤10 , 输入的内容只包含 0≤val≤1。输入描述:输入两个整数,分别表示二维数组的行数,列数。再输入相应的数组,其中的1表示墙壁,0表示可以走的路。数据保证有唯一解,不考虑有多解的情况,即迷宫只有一条通道。输出描述:左上角到右下角的最短路径,原创 2024-04-17 11:53:10 · 598 阅读 · 0 评论 -
宜居星球改造计划【华为OD机试JAVA&Python&C++&JS题解】
宜居星球改造计划【华为OD机试JAVA&Python&C++&JS题解】2XXX年,人类通过对火星的大气进行宜居改造分析,使得火星已在理论上具备人类宜居的条件,由于技术原因,无法一次性将火星大气全部改造,只能通过局部处理形式,假设将火星待改造的区域为row * column的网格每个网格有3个值,宜居区、可改造区、死亡区,使用YES、NO、NA代替,YES表示该网格已经完成大气改造,NO表示该网格未进行改造,后期可进行改造,NA表示死亡区,不作为判断是否改造完成的宜居,无法穿过初始化下,该区域可能存在多个原创 2024-04-16 18:16:09 · 381 阅读 · 0 评论 -
需要打开多少监视器【华为OD机试JAVA&Python&C++&JS题解】
需要打开多少监视器【华为OD机试JAVA&Python&C++&JS题解】某长方形停车场,每个车位上方都有对应监控器,当且仅当在当前车位或者前后左右四个方向任意一个车位范围停车时,监控器才需要打开:给出某一时刻停车场的停车分布,请统计最少需要打开多少个监控器输入描述第一行输入m,n表示长宽,满足1 < m,n原创 2024-04-16 18:16:56 · 538 阅读 · 0 评论 -
运维日志排序【华为OD机试JAVA&Python&C++&JS题解】
运维日志排序【华为OD机试JAVA&Python&C++&JS题解】运维工程师采集到某产品线网运行一天产生的日志n条现需根据日志时间先后顺序对日志进行排序日志时间格式为H:M:S.NH表示小时(0~23)M表示分钟(0~59)S表示秒(0~59)N表示毫秒(0~999)时间可能并没有补全原创 2024-04-15 18:14:02 · 753 阅读 · 0 评论 -
找单词【华为OD机试JAVA&Python&C++&JS题解】
找单词【华为OD机试JAVA&Python&C++&JS题解】给一个字符串和一个二维字符数组,如果该字符串存在于该数组中,则按字符串的字符顺序输出字符串每个字符所在单元格的位置下标字符串,如果找不到返回字符串“N”。1.需要按照字符串的字符组成顺序搜索,且搜索到的位置必须是相邻单元格,其中“相邻单元格”是指那些水平相邻或垂直相邻的单元格。2.同一个单元格内的字母不允许被重复使用。3.假定在数组中最多只存在一个可能的匹配。原创 2024-04-15 18:18:17 · 614 阅读 · 0 评论 -
找数字【华为OD机试JAVA&Python&C++&JS题解】
找数字【华为OD机试JAVA&Python&C++&JS题解】小扇和小船今天又玩起来了数字游戏,小船给小扇一个正整数n (1原创 2024-04-11 12:28:52 · 3024 阅读 · 0 评论 -
数据单元的变化替换【华为OD机试JAVA&Python&C++&JS题解】
数据单元的变化替换【华为OD机试JAVA&Python&C++&JS题解】将一个csv格式的数据文件中包含有单元格引用的内容替换为对应单元格内容的实际值。comma separated values(CSV)逗号分隔值,csv格式的数据文件使用逗号“”作为分隔符将各单元的内容进行分隔输入描述:1、输入只有一行数据,用逗号分隔每个单元格,行尾没有逗号。最多26个单元格,对应编号A~Z。2、每个单元格的内容包含字母和数字,以及使用''分隔的单元格引用,例如:表示引用第一个单元的值3、每个单原创 2024-04-14 14:38:12 · 899 阅读 · 0 评论 -
芯片资源限制【华为OD机试JAVA&Python&C++&JS题解】
芯片资源限制【华为OD机试JAVA&Python&C++&JS题解】一个业务芯片的容量为10G,可支持两种不同的业务类型A、B。芯片的约束如下:1.A业务容量为2.5G,一个芯片上最多可配置4路业务;2.B业务容量为10G,一个芯片上最多可配置1路业务;3.由于业务容量限制,配置了A业务后,该芯片就不能配置B业务;4.不能跨芯片占用资源,即业务只能配置在一块芯片上,不能占用一块芯片的容量,再占用另外芯片容量;5.为了保证使用最少的芯片资源,业务配置时,按芯片编号从小到大顺序依次配置,并优先使用已经原创 2024-04-14 14:41:44 · 751 阅读 · 0 评论 -
推荐多样性【华为OD机试JAVA&Python&C++&JS题解】
推荐多样性【华为OD机试JAVA&Python&C++&JS题解】推荐多样性需要从多个列表中选择元素,一次性要返回N屏数据(窗口数量),每屏展示K个元素(窗口大小),选择策略:1. 各个列表元素需要做穿插处理,即先从第一个列表中为每屏选择一个元素,再从第二个列表中为每屏选择一个元素,依次类推2. 每个列表的元素尽量均分为N份,如果不够N个,也要全部分配完,参考样例图:原创 2024-04-11 12:30:23 · 1161 阅读 · 0 评论 -
欢乐的周末【华为OD机试JAVA&Python&C++&JS题解】
欢乐的周末【华为OD机试JAVA&Python&C++&JS题解】小华和小为是很要好的朋友,他们约定周末一起吃饭。通过手机交流,他们在地图上选择了多个聚餐地点(由于自然地形等原因,部分聚餐地点不可达),求小华和小为都能到达的聚餐地点有多少个?输入描述:第一行输入m和n,m代表地图的长度,n代表地图的宽度。第二行开始具体输入地图信息,地图信息包含:0 为通畅的道路1 为障碍物(且仅1为障碍物)2 为小华或者小为,地图中必定有且仅有2个 (非障碍物)3 为被选中的聚餐地点(非障碍物)原创 2024-04-10 20:59:56 · 228 阅读 · 0 评论 -
启动多任务排序【华为OD机试JAVA&Python&C++&JS题解】
启动多任务排序【华为OD机试JAVA&Python&C++&JS题解】一个应用启动时,会有多个初始化任务需要执行,并且任务之间有依赖关系,例如A任务依赖B任务,那么必须在B任务执行完成之后,才能开始执行A任务。现在给出多条任务依赖关系的规则,请输入任务的顺序执行序列,规则采用贪婪策略,即一个任务如果没有依赖的任务,则立刻开始执行,如果同时有多个任务要执行,则根据任务名称字母顺序排序。例如:B任务依赖A任务,C任务依赖A任务,D任务依赖B任务和C任务,同时,D任务还依赖E任务。那么执行任务的顺序由先到原创 2024-04-10 20:59:13 · 335 阅读 · 0 评论 -
叠积木【华为OD机试JAVA&Python&C++&JS题解】
叠积木【华为OD机试JAVA&Python&C++&JS题解】有一堆长方体积木,它们的长度和宽度都相同,但长度不一。小橙想把这堆积木叠成一面墙,墙的每层可以放一个积木,也可以将两个积木拼接起来,要求每层的长度相同。若必须用完这些积木,叠成的墙最多为多少层?如下是叠成的一面墙的图示,积木仅按宽和高所在的面进行拼接。原创 2024-04-10 01:20:26 · 450 阅读 · 0 评论 -
根据IP查找城市【华为OD机试JAVA&Python&C++&JS题解】
根据IP查找城市【华为OD机试JAVA&Python&C++&JS题解】某业务需要根据终端的IP地址获取该终端归属的城市,可以根据公开的IP地址池信息查询归属城市。地址池格式如下城市名=起始IP,结束IP,起始和结束地址按照英文逗号分隔,多个地址段采用英文分号分隔。原创 2024-04-10 01:21:20 · 806 阅读 · 0 评论 -
最小传输时延I【华为OD机试JAVA&Python&C++&JS题解】
最小传输时延I【华为OD机试JAVA&Python&C++&JS题解】某通信网络中有N个网络结点,用1到N进行标识。网络通过一个有向无环图表示,其中图的边的值表示结点之间的消息传递时延。现给定相连节点之间的时延列表times[i]={u,v,w},其中u表示源结点,v表示目的结点,w表示u和v之间的消息传递时延。请计算给定源结点到目的结点的最小传输时延,如果目的结点不可达,返回-1。原创 2024-04-08 15:37:49 · 494 阅读 · 0 评论 -
跳房子I【华为OD机试JAVA&Python&C++&JS题解】
跳房子I【华为OD机试JAVA&Python&C++&JS题解】跳房子,也叫跳飞机,是一种世界性的儿童游戏。游戏参与者需要分多个回合按顺序跳到第1格直到房子的最后一格。跳房子的过程中,可以向前跳,也可以向后跳。假设房子的总格数是count,小红每回合可能连续跳的步教都放在数组steps中,请问数组中是否有一种步数的组合,可以让小红两个回合跳到量后一格?如果有,请输出索引和最小的步数组合.注意:数组中的步数可以重复,但数组中的元素不能重复使用。提供的数据保证存在满足题目要求的组合,且索引和最小的步数组合是原创 2024-04-08 15:36:54 · 331 阅读 · 0 评论 -
跳格子三【华为OD机试JAVA&Python&C++&JS题解】
跳格子三【华为OD机试JAVA&Python&C++&JS题解】小明和朋友们一起玩跳格子游戏,每个格子上有特定的分数score = [1 -1-6 7 -17 7],从起点score[0]开始,每次最大的步长为k,请你返回小明跳到终点score[n-1]时,能得到的最大得分。注格子的总长度和步长的区间在[1,100000]每个格了的分数在[-10000,10000]区间中原创 2024-04-07 13:03:42 · 494 阅读 · 0 评论 -
免单统计【华为OD机试JAVA&Python&C++&JS题解】
免单统计【华为OD机试JAVA&Python&C++&JS题解】华为商城举办了一个促销活动,如果某顾客是某一秒内最早时刻下单的顾客(可能是多个人),则可以获取免单。请你编程计算有多少顾客可以获取免单。解答要求时间限制: 3000ms,内存限制: 64MB输入输入为 n 行数据,每一行表示一位顾客的下单时间以(年-月-日时-分-秒.毫秒) yyyy-MM-ddHH:mm:ss.fff 形式给出。原创 2024-04-07 13:04:32 · 382 阅读 · 0 评论 -
拼接url【华为OD机试JAVA&Python&C++&JS题解】
拼接url【华为OD机试JAVA&Python&C++&JS题解】给定一个URL前缀和URL后缀,通过”,”分割,需要将其连接为一个完整的URL,如果前缀结尾和后缀开头都没有“/”,需自动补上“/”连接符,如果前缀结尾和后缀开头都为“/”,需自动去重。约束:不用考虑前后缀URL不合法情况。原创 2024-04-06 16:00:11 · 770 阅读 · 0 评论 -
污染水域【华为OD机试JAVA&Python&C++&JS题解】
污染水域【华为OD机试JAVA&Python&C++&JS题解】输入一行字符串,字符串可转换为N*N的数组,数组可认为是一个水域,判断多少天后,水域被全部污染。数组中只有0和1,0表示纯净,1表示污染,每天只可污染上下左右的水域,如果开始全部被污染,或永远无法污染,则返回-1。原创 2024-04-06 15:58:26 · 478 阅读 · 0 评论 -
二叉树计算【华为OD机试JAVA&Python&C++&JS题解】
二叉树计算【华为OD机试JAVA&Python&C++&JS题解】给出一个二叉树如下图所示:请由该二叉树生成一个新的二叉树,它满足其树中的每个节点将包含原始树中的左子树和右子树的和。左子树表示该节点左侧叶子节点为根节点的一颗新树;右子树表示该节点右侧叶子节点为根节点的一颗新树原创 2024-04-05 14:19:31 · 671 阅读 · 0 评论 -
学生重新排队【华为OD机试JAVA&Python&C++&JS题解】
学生重新排队【华为OD机试JAVA&Python&C++&JS题解】n个学生排成一排,学生编号分别是1到n,n为3的整倍数。老师随机抽签决定将所有学生分成m个3人的小组,n=3*m为了便于同组学生交流,老师决定将小组成员安排到一起,也就是同组成员彼此相连,同组任意两个成员输入描述:之间无其它组的成员。因此老师决定调整队伍,老师每次可以调整任何一名学生到队伍的任意位置,计为调整了一次,请计算最少调整多少次可以达到目标。注意:对于小组之间没有顺序要求,同组学生之间没有顺序要求。原创 2024-04-05 14:21:08 · 7744 阅读 · 0 评论 -
二叉树的广度优先遍历【华为OD机试JAVA&Python&C++&JS题解】
二叉树的广度优先遍历【华为OD机试JAVA&Python&C++&JS题解】有一棵二叉树,每个节点由一个大写字母标识(最多26个节点)。现有两组字母,分别表示后序遍历(左孩子->右孩子->父节点)和中序遍历(左孩子->父节点->右孩子)的结果,请输出层次遍历的结果。输入描述:输入为两个字符串,分别是二叉树的后续遍历和中序遍历结果。输出描述:输出二叉树的层次遍历结果。原创 2024-04-04 14:37:48 · 989 阅读 · 0 评论 -
伐木工【华为OD机试JAVA&Python&C++&JS题解】
伐木工【华为OD机试JAVA&Python&C++&JS题解】一根X米长的树木,伐木工切割成不同长度的木材后进行交易,交易价格为每根木头长度的乘积。规定切割后的每根木头长度都为正整数;也可以不切割,直接拿整根树木进行交易。请问伐木工如何尽量少的切割,才能使收益最大化?原创 2024-04-04 14:35:16 · 644 阅读 · 0 评论 -
反射计数【华为OD机试JAVA&Python&C++&JS题解】
反射计数【华为OD机试JAVA&Python&C++&JS题解】给定一个包含 0 和 1 的二维矩阵给定一个初始位置和速度一个物体从给定的初始位置触发, 在给定的速度下进行移动, 遇到矩阵的边缘则发生镜面反射无论物体经过 0 还是 1, 都不影响其速度请计算并给出经过 t 时间单位后, 物体经过 1 点的次数原创 2024-04-03 21:09:14 · 733 阅读 · 0 评论 -
贪吃的猴子【华为OD机试JAVA&Python&C++&JS题解】
贪吃的猴子【华为OD机试JAVA&Python&C++&JS题解】一只贪吃的猴子,来到一个果园,发现许多串香蕉排成一行,每串香蕉上有若干根香蕉。每串香蕉的根数由数组numbers给出。猴子获取香蕉,每次都只能从行的开头或者末尾获取,并且只能获取N次,求猴子最多能获取多少根香蕉。原创 2024-04-03 21:04:50 · 1164 阅读 · 0 评论