
大厂校招-编程集训
文章平均质量分 79
编程算法练习集合
Glen 997
专注,垂直,好好学习
中科院在读计算机博士生
展开
-
算法笔试-编程练习-好题-07
如果不熟悉python的底层的话,上面的程序看起来就是O(n)的时间复杂度。但是由于python的字符串类型的变量底层上是不可变的,因此每一次的+=,都需要经历:1)计算两边的字符串的长度,2)然后开辟一块的新的空间,3)将原来的ans复制进入新空间,4)将 += 右侧的内容追加到新空间中ans 的尾部。' '.join函数,会在result的每个元素之间添加一个空格,上面的字符串构建时,会先计算最终字符串的长度,然后再开辟空间,因此只会经历1次的空间开辟过程,整体的时间复杂度符合O(n)原创 2024-09-21 14:16:22 · 461 阅读 · 0 评论 -
算法笔试-编程练习-好题-06
【题目类型:滑动窗口、贪心、双指针、等差数列求和】某公司日对新用户推出大礼包,从任意一天注册开始,连续登录x天,每天可以领取一定的金币,领取金币的数量与该公司新设计的虚假世界的日历相关,该日历一年有n个月,第i个月有di天,每一年都一样。在每个月第一天会得到首先这题是个较为明确的滑动窗口类题目,我们只需要遍历每种情况即可获得最多的金币数。获取金币的最小单位是天,但是如果以天为单位步长进行滑动窗口一定会超时的。我们仔细分析可以发现以月份为滑动窗口进行遍历,对每一种取值存在贪心的计算方式。既然是滑动窗原创 2024-09-19 17:16:58 · 459 阅读 · 0 评论 -
算法笔试-编程练习-好题-05
【题目类型:动规+双指针】有N个基站采用链式组网,按照从左到右编码为1到N编号。已知定义“业务”概念为三元组(基站起始编号,基站结束编号,利润),意味着需要占据基站起始编号到基站结束编号的所有基站,打通信号流,可以获得对应利润。【题目类型:动态规划+双指针】我们以业务的结束基站来描述业务的利润,那么基站i处如果没有业务,则其最大利润为:DP[i]=DP[i-1],若有任务则为DP[i]=max(DP[i-1], DP[k1-1]+r)原创 2024-09-14 16:51:48 · 530 阅读 · 0 评论 -
算法笔试-编程练习-好题-04
礼盒大小不同,我们玩堆盒子的游戏,怎么堆盒子使得堆出的高度最高,每个礼盒的大小由长、宽、高表示,堆盒子的时候要求下面的盒子长、宽、高都必须大于上面的盒子,不包含等于。高度为堆出的礼盒的所有高度的总和。原创 2024-09-14 15:18:35 · 531 阅读 · 0 评论 -
算法笔试-编程练习-好题-03
因为大数是通过阶乘求得的,那么必定很多数字会被乘很多次,所以直觉上我们需要先统计每个数字使用的次数,阶乘描述的是1-n的连城,也就是1-n之间所有数字的使用次数+1。再通过遍历质数的方式统计每个数字对该质数的指数,这里可以使用动态规划进行加速,我们假设数字i是指数p的倍数,那么 power[i] = power[i//p] +1(详见代码)。对于2我们有3种取法,取0个,1个和2个,对于3我们有2种取法,0个和1个,因此12共有3*2个因子,也就是指数+1的累乘,也就是(2+1)*(1+1)。原创 2024-09-03 16:20:34 · 515 阅读 · 0 评论 -
算法笔试-编程练习-M-01-24
质因数,小乖对 gcd (最大公约数) 很感兴趣, 他会询问你t次。 每次询问给出一个大于 1 的正整数 n, 你是否找到一个数字m(2 ≤m ≤ n),使得 gcd(n,m)为素数.;极差,小乖有一个长度为 n 的数组,每次操作可以选择两个下标i和j,分别减1和加1,小乖想知道最少需要多少次操作,可以使数组极差减小;第一步,小乖选择一个非空的区间 [l,r],将这个区间中的所有数字都乘上 k。第二步, 小坏选择一个非空的区间 [l,r], 将这个区间中的所有数字都乘上 k。原创 2024-09-03 13:19:39 · 1066 阅读 · 0 评论 -
算法笔试-编程练习-好题-02
计算每个偶数区间内的最小连续子序列和原创 2024-09-03 13:14:20 · 772 阅读 · 0 评论 -
算法笔试-编程练习-好题-01
那么如何确定两个数字是否位于该等差数列上呢?同时对于interval取余,余数相等,则位于同一个等差数列上,这就是同余;一直觉得贪心是比较难的一类题目,遇到一些难题的时候容易出现明确知道用贪心但想不出来如何贪心的问题。比较好的练习方式就是见多识广。这道题的贪心思想就是,优先参加快结束了的会议,这点想明白了,这题就变成了一道模拟题。更优秀的做法可以结合优先队列,但是下面的代码也能全部AC。原创 2024-08-30 12:02:06 · 760 阅读 · 0 评论 -
算法笔试-编程练习-H-03-24
操作系统的页式存储管理中,当主存满并且需要的存储页不在主存中,需要对主存中的页面进行置换,其中有一个非常重要的算法,即LRU置换算法;我们要对汇编程序进行语法解析,已知存在种字符串解析语法,其中的语法元素如下N:用于匹配单个数字(0-9)A:用于匹配单个字母(a-z,A-Z);当前某客户订购了2台设备和num块接口板。请计算是否存在一种安装方法,使用户选购的接口板,刚好能装到两台设备上,且每台设备配置的口板的转发能力之和,刚好和整机的转发能力相等。柜式路由器需要配备接口板才可以工作,接口板用于接入用户业务,原创 2024-08-28 16:41:24 · 1023 阅读 · 0 评论 -
算法笔试-编程练习-H-02-24
一、数据重删是一种节约存储空间的技术,通常情况下,在数据存储池内是有很多重复的数据库。重删则是将这些重复的数据块找出并处理的技术;二、任务调度某Devops系统有一批并发任务需要匹配合适的执行机调度执行,任务和执行机都具有CPU型(用0表示)和IO型(用1表示)的区别,此外还有一种通用型执行机(用2表示),一批任务和执行机的类型分别用数组tasks、machines表示;三、亲和调度找出一组包含亲和任务数量最多的亲和调度任务组;大部分任务之间存在亲和关系,需要优先把具有亲和关系的任务调度到同一个核上面,不亲原创 2024-08-27 12:35:47 · 1097 阅读 · 0 评论 -
算法笔试-编程练习-J-02-23
在一个 3 * 3 的棋盘上,小红和小紫正在玩“夹吃棋”。 所谓“夹吃棋”,即如果存在一个白子,它的两侧 (横向或者纵向)相邻都是黑子,则这个棋子将被“夹吃”,对于黑棋亦然。 ;小红准备买药治病。已知共有 n 种症状和 m 种药,第 i 种药可以治疗一些症状,但可能会导致一些副作用,添加一些新的症状。小红依次服用了一些;有一个 n 行 m 列的棋盘,有一些格子是障碍物不能通过。小红控制一个皇后在从左上角出发,每次移动她可以控制皇后进行以下三种方式中的一种:1.向右移动若干个格子。原创 2024-08-26 14:48:17 · 528 阅读 · 0 评论 -
算法笔试-编程练习-01-B-23
小红组内有 n 个人,大家合作完成了一个初版方案,初始时大家的愤怒值都是 0。 但是领导对方案并不满意,共需要修改 m 次方案,每次修改会先让第 l 到 r 个人的愤怒值加 1,然后再修改方案;原创 2024-08-23 11:07:46 · 2370 阅读 · 0 评论 -
笔试算法—编程练习-01-H-24
你正在开发一个代码依赖分析工具。这个工具需要分析软件模块之间的依赖关系,用来优化代码的编译和构建过程;农田受到地震的破坏,农田中的一些网点断开了联系。假设原本的农田网构成一个矩形,其中未被破坏的网点标记为 1,被破坏的网点标记为 0;字符串重排游戏规则如下:给定一个由小写字母组成的字符串 s,通过重新排列 s 中的字母,看看最多能组成多少个不同的回文字符串原创 2024-08-22 17:46:24 · 854 阅读 · 0 评论 -
笔试算法-编程练习-01-J-24
笔试;一、下雪村子里有一些桩子,从左到右高度依次为1,1+2,1;二、积木牛牛有一种锯齿状的积木,这种积木比较长,但是每个单位长度的高度是相等的高度为 1 或者 2;三、过年;牛牛也是要回家过年的呢。牛牛所在的国家有 n 座城市,m 条有向道路,第 i 条道路由城市ui通往城市vi,通行费为 wi。作为一头豪气的牛,希望他回家的花费是一个特殊的数字(例如666元)。具体的说,牛牛希望从城市1移动到城市n,并恰好花费a元。原创 2024-08-22 11:34:41 · 1273 阅读 · 0 评论 -
笔试算法-编程练习-01-X-23
23年小米笔试;一、手机流畅运行的秘密;8 月份发布会一结束,米小兔就在公司领到了一台最新发布的 Xiaomi MIX Fold 3 手机,这是一款小米旗舰折叠屏手机,并搭载了全新升级架构的 MIU114 系统;二、小米手机通信校准;小米手机生产过程中会经过严苛的测试环节,其中包括手机通讯功能中的射频校准。射频校准会打点数据上报到云端原创 2024-08-16 15:39:11 · 806 阅读 · 0 评论 -
笔试算法-编程练习-01-Z-21
字节21年校招-算法方向-第四批;一、子串长度;有一个仅包含’a’和’b’两种字符的字符串s;二、房间传送门;存在n+1个房间,每个房间依次为房间;三、球队比分;有三只球以,每只球队编号分别为球队1,球队2,球以3原创 2024-08-15 19:29:15 · 804 阅读 · 0 评论 -
笔试算法-编程练习-02-Z-23
23年字节笔试-0820;一、三珠互斥;小红将 n 个珠子排成一排,然后将它们串起来;二、扑克牌同花顺;小红最近迷上了纸牌游戏。纸牌有四种花色:黑桃 (Spade, 'S')、红桃 (Heart, 'H')、方块 (Diamond, 'D') 和梅花 (Club, 'C');三、好数组;小红定义一个数组是好数组,当且仅当该数组中有且仅有一个元素和其他元素不同,剩余的所有元素相同。;四、极长连续段的权值;小红定义一个字符串的权值为:极长“连续段”的数量。所谓极长“连续段”,指尽可能长的一段字符全部相同的连续子原创 2024-08-16 14:32:22 · 1128 阅读 · 0 评论