笔试
文章平均质量分 63
hazel爱吃肉
make it count
展开
-
栈数据合并——华为2023.5.10
如: 依次向栈压入6、1、2、3,当压入2时,栈顶至栈底依次为[2、1、6];当压入3时,3=2+1,3、2、1全部出栈,重新入栈整数6(此时n1=3,因此m=2×3=6),此时栈顶至栈底依次为[6、6];6=6,两个6全部出栈,压入12(此时n1=6,因此m=2×6=12),最终栈中只剩一个元素12.最终栈中存留的元素值,元素值使用单个空格隔开,如”8 7 6 5”,从左至右依次为栈顶至栈底的数字。1.如果n1=n2,则n1、n2全部出栈,压入新数据m(m=2×n1);正整数大小为[1,2^31-1]。原创 2023-05-24 15:34:15 · 1489 阅读 · 0 评论 -
海量日志抑制——华为2023.5.34
程序运行日志是重要的运维手段,需要尽量记录下有效信息,避免无效日志,而”海量日志”就是一种比较典型的日志使用问题——大量打印相同或相似的内容,将有效日志淹没,还可能降低系统运行效率。海量日志”定义: 10ms内(原创 2023-05-26 21:53:59 · 1058 阅读 · 0 评论 -
连续空闲内存合并管理——华为2023.5.24
动态内存管理根据用户的需求分配任意大小的内存,当用户释放内存时,被释放的内存回到池(堆)中供其他用户使用。现设计某实时操作系统计划的内存管理功能,请你实现被释放内存的回收合并模块,当经过一次内存释放操作后,请返回当前最大的连续内存块的起始位置,以及此连续内存的数量(块数)。说明:1,3,2,5四块内存,前面三块1,3,2为连续内存,合并后的连续内存数为3个单位起始编号为1,因此返回1,3。表示释放四块内存,ID分别为1.3.2.5,每块内存的大小为1个单位[预制条件];原创 2023-05-26 13:49:19 · 1184 阅读 · 0 评论 -
网络升级改造——华为2023.5.24
由于软件技术的提升,原有部署网络中某些节点可以撤掉,这样可以简化网络节省维护成本。但是要求撤掉网络节点时,不能同时撤掉原来两个直接相互连接的节点。输入的网络是一个满二叉树结构,每个网络节点上标注一个数值,表示该节点的每年维护成本费用。给定每个输入网络,按照要求撤掉某些节点后,求出能够节省的最大的维护成。1原创 2023-05-25 15:23:47 · 224 阅读 · 0 评论 -
最近最少使用(LRU, Least recently used)缓存算法_华为2023
结点包含左右指针,key:value,key表示id编号,value表示此时结点是否处于被占用状态。(2)快写,注意中printf()也比cout快,如果输出不是int类型,可以用printf(“<式样化字符串>”,<参数表>);如果为0,则value置为1表示空闲,同时将key对应的节点放到双链表的最右侧;用双链表遍历前k个node,如果node对应的value为1,则依次置0,并从双链表中删除node。3.初始化:双链表资源池和哈希表key根据资源池范围初始化,value全部设定为空闲状态1;原创 2023-05-20 21:29:39 · 528 阅读 · 0 评论 -
拓扑排序_华为2023
【代码】拓扑排序_华为2023。原创 2023-05-20 20:20:51 · 95 阅读 · 0 评论