- 博客(34)
- 收藏
- 关注
原创 MarsCode刷题--74. 叠盘子排序
例如,输入的盘子序号是 [-3, -2, -1, 2, 10, 15, 16, 18, 19, 20],按照小M的规则,连续递增序列 -3, -2, -1 可以叠在一起表示为 -3–1,而 18, 19, 20 可以叠在一起表示为 18-20。不满足连续递增至少3个的,如 2, 10, 15, 16 都应单独列出。小M有一个独特的方式来收拾家中的盘子。盘子的序号都是唯一的整数,并且在收拾前就是递增的。小M的叠放规则是,每一堆盘子的序号都是连续递增的,并且至少包含3个盘子。
2024-12-19 14:13:58
377
原创 MarsCode刷题--73. SQL代码补全功能
例如,当用户输入 s 时,编辑器需要自动提示以 s 开头的所有可能选项,如 select。如果用户输入 fr,则需要提示 from 和 from_mobile。如果在提示中只有一个选项符合,如输入 from_ 时只提示 from_mobile。在开发SQL编辑器时,实现自动补全功能是提高用户体验的重要一环。小C需要实现一个功能,根据用户输入的字符片段,快速从已知的SQL关键字和数据库相关名称中找到所有以该片段开头的候选词,并按字典序输出。构造前缀树:利用前缀树插入、查找。
2024-12-12 15:29:15
663
原创 MarsCode刷题--72. 多米诺骨牌均衡状态
小S玩起了多米诺骨牌,他排列了一行骨牌,并可能将某些骨牌向左或向右推倒。随着骨牌连锁反应的进行,一些骨牌可能因为左右两侧受力平衡而保持竖立。现在小S想要知道在所有动作完成后,哪些骨牌保持竖立。从左向右遍历 :碰到R设置力量为 +l (l为数组长度),继续向右遍历碰到 . 力量大小依次减1,碰到L停止。继续向右遍历循环上次操作。从右向左遍历 :碰到L设置力量为 -l (l为数组长度),继续向左遍历碰到 . 力量大小依次加1,碰到R停止。继续向左遍历循环上次操作。最后为0的位置,就是所求结果。
2024-12-11 02:53:40
917
原创 MarsCode刷题--71. 蛋糕工厂产能规划
小明的蛋糕工厂每天可以生产的蛋糕数量是由工厂中的机器和工人的数量决定的,即 ( m \times w )。现在他收到了一个大订单,需要尽快生产出 ( n ) 个蛋糕。为了提升生产速度,小明可以使用每天生产的蛋糕去购买额外的机器或工人,每台机器或每个工人的成本是 ( p ) 个蛋糕。每次都将1和2的结果比较,取最小值,最后的结果即为最后结果。
2024-12-09 20:19:34
373
原创 MarsCode刷题--70. 打点计数器的区间合并
例如,给定三个数字范围 [1, 4], [7, 10], 和 [3, 5],计数器首先将这些范围合并,变成 [1, 5] 和 [7, 10],然后计算这两个范围内共有多少个唯一数字,即从 1 到 5 有 5 个数字,从 7 到 10 有 4 个数字,共打 9 个点。小明正在设计一台打点计数器,该计数器可以接受多个递增的数字范围,并对这些范围内的每个唯一数字打点。使用栈来存储区间数据,遍历数组中的元素,并和栈顶的数据比较,判断是否可以合并,如果可以合并,弹出栈顶,将合并后的数据压入栈中。
2024-12-09 04:34:04
398
原创 MarsCode刷题--69. 查找热点数据问题
给你一个整数数组 nums 和一个整数 k,请你用一个字符串返回其中出现频率前 k 高的元素。你所设计算法的时间复杂度必须优于 O(n log n),其中 n 是数组大小。使用map用来计算频率,使用优先队列获取前k个高频的值,最后利用列表排序后返回。
2024-12-08 14:09:59
237
原创 MarsCode刷题--68.绿洲之旅:最少补给次数探索
起点到终点的距离为 (D) 公里,小U初始携带 (W) 升水,每行走 1 公里消耗 1 升水。每个补给站的位置由 position[i] 表示,距离起点的公里数,supply[i] 表示该站可以提供的水量,单位为升。从起点到终点共有 (D) 公里,小U需要规划在哪些补给站停留,以保证整个旅途中水的供应。贪心算法:每次都寻找当前位置+当前水量能到达的所有位置中,供应水量最多的地方,去到这个地方加水。请你帮助小U计算,要安全到达终点至少需要补给几次,或者判断是否根本无法到达终点,此时输出-1。
2024-12-07 15:54:24
324
原创 MarsCode刷题--67.策略大师:小I与小W的数字猜谜挑战
在一个数字游戏中,数字 1 到 n 中有一个是幸运数字,且这个数字是等概率随机选择的。玩家 小I 和 小W 轮流从这些数字中猜测幸运数字,小I 总是先开始猜。假设 小I 和 小W 都采取最优策略,并且都知道对方也是如此,本题要求计算 小I 获胜的概率。请输出保留五位小数的结果。游戏规则如下:每轮游戏后,主持人会宣布猜测结果是太大了、太小了,还是正确的。如果猜中,那么该轮猜测者即为游戏的获胜者。数学公式:在[low,high]范围内,先猜的人猜中的概率。使用动态规划解决此题。
2024-12-06 12:39:41
1382
原创 MarsCode刷题--66魔法甜点之和:小包的新挑战
下午茶小哥今天带来了 N 个甜点,每个甜点都有一个固定的喜爱值。小R有 M 个魔法棒,他可以选择任意甜点使用,但每个甜点只能使用一次魔法棒。他的目标是通过选择一些甜点,可能使用魔法棒,使得这些甜点的喜爱值之和恰好为 S。小R不再追求甜点中最高的喜爱值,今天他想要的是甜点喜爱值之和正好匹配他的预期值 S。为了达到这个目标,他可以使用魔法棒来改变甜点的喜爱值,使其变为原来喜爱值的阶乘。每个甜点只能使用一次魔法棒,也可以完全不用。如果两种方案中,选择的甜点不同,或者使用魔法棒的甜点不同,则视为不同的方案。
2024-12-05 21:26:34
339
原创 MarsCode刷题--65.唐门绝技:暴雨梨花针最少发射次数
在唐门,外门弟子唐三发现了一种强大的暗器技巧,名为暴雨梨花针,它能在一条直线上摧毁所有目标。唐三在一本古籍中学习到了这门技巧,为了练习,他设置了若干个靶子在二维平面上。每个靶子是一条垂直于X轴的线段,由三个参数 x_{left},x_{right},y 描述,其中 y 是固定的高度,x_{left} 和 x_{right} 表示线段在X轴上的起止位置。唐三的目标是使用尽可能少的暴雨梨花针来击中所有靶子。每次射击暴雨梨花针都将从某个 x 值发射,能垂直上升到 y = 100。结果需对给定的 P 取余。
2024-12-05 15:47:32
426
原创 MarsCode刷题--44小E的射击训练
小E正在训练场进行射击练习,靶有10个环,靶心位于坐标(0, 0)。每个环对应不同的得分,靶心内(半径为1)得10分,依次向外的每个环分数减少1分。若射击点在某个半径为i的圆内,则得11-i分。如果射击点超出所有的环,则得0分。根据给定的射击坐标(x, y),请计算小E的射击得分。
2024-12-05 11:38:05
190
原创 MarsCode刷题--64英雄决斗的最大胜利次数
小U和小F正在进行一场由 n 轮组成的英雄决斗比赛。在每一轮中,小U和小F各自从他们的英雄队伍中选出一位英雄进行对决,英雄的能力值将决定比赛的胜负,能力值高者获胜。小U已经按照固定的能力顺序1,2,3,…,n 安排了他的英雄出场顺序。小F希望通过调整他的英雄出场顺序,最大化他的获胜轮数。请帮助小 F 确定一个最佳的出场顺序,以获得最多的胜利。
2024-12-04 11:51:54
440
原创 MarsCode刷题--45最少步数归零问题
小R拿到了一个长度为n的数组,其中每个元素都是一个正整数。小R发现每次可以删除某个数组中某个数的一位数字,这样可以逐步将所有数字变为0。他想知道,要将数组中所有数字都变为0,最少需要多少步?例如:对于数字 103,小R可以选择删除第1位数字,将其变为 3;或者删除第2位数字,变为 13,又或者删除第3位数字,将其变为 10。最终目标是将所有数字都删除为0。
2024-12-03 16:22:02
274
原创 MarsCode刷题--63视频推荐的算法
99 百分位数:假如有 N 个数据,将数据从小到大排列,99 百分位数是第 N99%位置处的数据(遇到小数时四舍五入获取整数)。一般计算逻辑是先排序,定位到 N99%的位置。返回该位置处的数据。同理,80 百分位数就是第 N*80%位置处的数据。西瓜视频正在开发一个新功能,旨在将访问量达到80百分位数以上的视频展示在首页的推荐列表中。实现一个程序,计算给定数据中的80百分位数。例如:假设有一个包含从1到100的整数数组,80百分位数的值为80,因为按升序排列后,第80%位置的数字就是80。
2024-12-03 02:03:47
451
原创 MarsCode刷题--62病毒在封闭空间中的传播时间
在一个封闭的房间中,排列着 n 行 m 列的座位,每个座位间距为 1 米。房间中每个座位上都坐着一人,部分人戴了口罩,部分人未戴口罩。已知房间中有一位已经感染病毒的人,病毒可以每秒向相邻座位传播 1 米。对于戴口罩的人,病毒需要两秒才能成功感染,或者需要在一秒内从两个相邻的感染者处同时被感染。设计一个算法,计算病毒感染房间内所有人所需的最短时间。
2024-11-28 16:40:43
297
原创 MarsCode刷题--61阿D的最佳飞行路线探索
小C和他的领导小F计划一次飞行,但由于严格的航空管制,他们的飞机仅能按特定的路线飞行:飞机只能飞往当前机场的相邻机场或相同航空公司管理的机场。为了减少起飞次数,小C需要制定最优的飞行路线。
2024-11-27 02:50:03
455
原创 MarsCode刷题--60RGB色值转换为整数值
小M需要一个函数,用于将RGB颜色值转换为相应的十六进制整数值。RGB色值以字符串的形式给出,如"rgb(192, 192, 192)",需要转换为对应的整数值。
2024-11-26 15:23:21
293
原创 MarsCode刷题--58Base32编码和解码问题
Base32 是 Base64 的变种,与 Base64 不同的地方在于 Base64 以 6 bit 为一组作为索引,而 Base32 以 5 bit 为一组作为索引,每一组用一个 ASCII 字符表示。相比于 Base32,你可能更熟悉 Base64,Base64 是非常常见的用字符串形式表示二进制数据的方式,在邮件附件、Web 中的图片中都有广泛的应用。对二进制数据进行预处理:如果二进制数据的 bit 数目不是 5 的倍数的话,在末尾补 0 直至为 5 的倍数。如果余数是 8,补 6 个 +。
2024-11-26 01:53:32
528
原创 MarsCode刷题--46大数和中的极值位距离
例如,字符串数 “111” 和 “222” 相加得到 “333”,所有数字相同,因此位数差为 0。另一例子,字符串数 “111” 和 “34” 相加得到 “145”,其中最大数是 ‘5’ 位于第 3 位,最小数是 ‘1’ 位于第 1 位,他们之间的位差为 1。小R面对一个问题,她有两个由数字字符组成的超大字符串数,需要求出这两个数相加后得到的字符串数中的最大数和最小数之间的位数差距。如果结果中所有数字都相同,则差距为 0。如果存在多个符合最大或最小条件的数,应该选择最小的位置差。
2024-11-25 20:55:38
293
原创 MarsCode刷题--47完美偶数计数
小C定义了一个“完美偶数”。现在,小C有一个长度为 n 的数组 a,她想知道在这个数组中有多少个完美偶数。2.x 的值在区间 [l,r] 之间。
2024-11-22 13:44:15
250
原创 spring阅读--@PostConstruct
AbstractAutowireCapableBeanFactory#initializeBeanAbstractAutowireCapableBeanFactory#applyBeanPostProcessorsBeforeInitializationBeanPostProcessorInitDestroyAnnotationBeanPostProcessor#postProcessBeforeInitializationInitDestroyAnnotationBeanPostProce
2024-11-21 15:31:35
257
原创 MarsCode刷题--57最大相等分割红包金额
小U在公司年会上运气极佳,赢得了一等奖。作为一等奖得主,他有机会在一排红包中做两次切割,将红包分成三部分,要求第一部分和第三部分的红包总金额相等。他可以获得的金额是第一部分红包的总金额。帮小U计算出他能从这些红包中拿到的最大奖金金额。
2024-11-21 14:06:20
276
原创 MarsCode刷题--48a替换函数
例如,对于字符串"abcdwa",所有a字符会被替换为"%100",最终结果为%100bcdw%100"。给定一个字符串s,编写一个函数,将字符串中的小写字母a替换为"%100",并返回替换后的字符串。
2024-11-21 13:08:09
227
原创 spring阅读--初始化bean(1)
Aware接口方法 ---- BeanPostProcessor前置方法 ---- Bean的初始化方法(afterPropertiesSet、init-method) ---- BeanPostProcessor后置方法
2024-11-21 03:52:24
248
1
原创 spring阅读--bean生命周期(1)
实例化 ---- 属性填充 ---- 初始化 ---- 注册Destruction回调//BeanWrapper是bean的包装器,是封装bean实例化返回的结果,它提供了对bean实例的属性访问和设置的方法。//如果是单例bean,尝试从缓存中获取已存在的实例bean// 实例化Bean//从BeanWrapper中获取被包装的bean实例(wrappedObject)//获取被包装的Bean实例的类型Class<?
2024-11-21 03:30:40
198
原创 spring阅读--实例化bean(1)
创建bean实例时,根据不同的条件选择合适的实例化策略,包括使用构造函数、工厂方法或自定义的Supplier对象。//解析beanDefinition中的bean定义,获取对应的Class对象Class<?//beanClass不为空,并且beanClass的修饰符不是public,并且beanDefinition中不允许非public访问= null &&!//自定义的Supplier来控制Bean的创建过程,通过Supplier来获取bean实例。
2024-11-20 19:21:51
229
原创 MarsCode刷题--56贪心猫的鱼干大分配
在猫星球上,小R负责给一行排队的猫分发鱼干。每只猫有一个等级,等级越高的猫应该得到更多的鱼干。小R想知道,为了公平地满足所有猫的等级差异,他至少需要准备多少斤鱼干。如果一只猫的等级高于它相邻的猫,它就应该得到比相邻的猫更多的鱼干。每只猫至少得到一斤鱼干。
2024-11-20 17:10:56
233
原创 MarsCode刷题--49红包运气排行榜
小C参与了一场抢红包的游戏,现在他想要对所有参与抢红包的人进行一次运气排名。排名规则如下:抢到的金额越多,排名越靠前;如果两个人抢到的金额相同,则按照他们抢红包的顺序进行排名。比如,如果小C和小U抢到的金额相同,但小C比小U先抢,则小C排在小U前面。
2024-11-20 16:09:15
227
原创 MarsCode刷题--55二进制之和
小U和小R喜欢探索二进制数字的奥秘。他们想找到一个方法,将两个二进制字符串相加并以十进制的形式呈现。这个过程需要注意的是,他们的二进制串可能非常长,所以常规的方法可能无法处理大数。小U和小R希望你帮助他们设计一个算法,该算法能在保证时间复杂度不超过O(n^2)的前提下,返回两个二进制字符串的十进制求和结果。
2024-11-19 20:06:49
164
原创 MarsCode刷题--54数字翻译成字符串的可能性
小M获得了一个任务,需要将数字翻译成字符串。翻译规则是:0对应"a",1对应"b",依此类推直到25对应"z"。一个数字可能有多种翻译方法。小M需要一个程序来计算一个数字有多少种不同的翻译方法。例如:数字12258可以翻译成 “bccfi”, “bwfi”, “bczi”, “mcfi” 和 “mzi”,共5种方式。
2024-11-19 17:37:16
264
原创 MarsCode刷题--51和的逆运算问题
n 个整数两两相加可以得到 n(n - 1) / 2 个和。我们的目标是:根据这些和找出原来的 n 个整数。按非降序排序返回这 n 个数,如果无解,输出 “Impossible”。
2024-11-19 15:57:42
249
原创 MarsCode刷题--50优化青海湖至景点X的租车路线成本
此外,到达目标景点X还车的时候,需要保证车内剩余的油至少有 200L。如果无法到达景点X,或者到达景点X还车时油料剩余不足 200L,则需要返回 -1 告诉小F这是不可能的任务。gas_stations:每个加油站的信息,包含两个非负整数 [加油站距离起始点的距离(km), 该加油站的油价(元/L)]小F需要你帮助他计算,如果合理规划加油站的加油顺序和数量,最小化从青海湖到景点X的旅行成本(元)。distance:从青海湖到景点X的总距离(km),距离最远不超过 10000 km。
2024-11-19 03:15:39
365
原创 MarsCode刷题--52简单四则运算解析器
小F面临一个编程挑战:实现一个基本的计算器来计算简单的字符串表达式的值。该字符串表达式有效,并可能包含数字(0-9)、运算符+、-及括号()。注意,字符串中不包含空格。除法运算应只保留整数结果。请实现一个解析器计算这些表达式的值,且不使用任何内置的eval函数。
2024-11-18 19:45:03
185
1
原创 MarsCode刷题--53及格的组合方式探索
小S在学校选择了3门必修课和n门选修课程来响应全面发展的教育政策。现在期末考核即将到来,小S想知道他所有课程的成绩有多少种组合方式能使他及格。及格的条件是所有课程的平均分不低于60分。每门课程的成绩是由20道选择题决定,每题5分,答对得分,答错不得分。为了计算方便,你需要将结果对202220222022取模。
2024-11-18 16:31:26
299
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅