
福大大架构师每日一题
文章平均质量分 54
福大大架构师每日一题
聚焦go语言、力扣算法解题技巧、云原生技术实践、ai人工智能与deepseek大模型应用,分享架构师视角的前沿技术与实战经验。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
2025-06-10:移除石头游戏。用go语言,Alice 和 Bob 玩一个拿石头的游戏,规则如下: - 他们轮流从一堆石头中拿走石头,Alice 先手。 - Alice 第一次拿走的石头数量固定为
Alice 第一次拿走 10 个石头。之后每次拿走的石头数量是对方上一次拿走的数量减 1。游戏在某个玩家无法按规则拿走足够的石头时结束。Alice 获胜的条件是n落在特定的区间(n < 19代码中的数学公式通过解二次不等式直接计算出 Alice 是否能获胜。时间复杂度和空间复杂度均为O(1)。原创 2025-06-10 07:14:27 · 903 阅读 · 0 评论 -
深度解读transformers v4.52.4:关键功能升级与实用修复,全方位助力模型开发与优化
继前版本更新后,Transformers再次发布了v4.52.4补丁版本,涵盖多项细节修复与功能优化,为视觉语言模型、视频处理及模型兼容性等领域注入新活力。在多模态模型,尤其是兼具视觉和语言处理能力的模型中,词汇表大小的正确配置对模型训练和推理至关重要。v4.52.4中针对该环节修正了从文本配置文件中查询词汇表大小的代码逻辑,避免因查询失败导致的异常情况,提升模型配置的适用性和鲁棒性。本次版本修复了注意力缩放算子中的细节缺陷,改善了模型在计算注意力权重时的数值表现,从而帮助模型生成更加精准且稳定的结果。原创 2025-06-09 07:52:49 · 387 阅读 · 0 评论 -
2025-06-09:最小化相邻元素的最大差值。用go语言,给定一个整数数组 nums,其中部分元素被标记为 -1,表示这些元素缺失。 你需要选取一对正整数 (x, y),将数组中所有 -1 替换为这
确定与-1相邻的最小和最大值(minL和maxR)。计算非-1相邻元素的最大差。处理-1段,计算填充值可能的最大差。结合minL和maxR,确定全局最小的最大差。时间和空间复杂度均为线性。原创 2025-06-09 07:52:18 · 775 阅读 · 0 评论 -
2025-06-08:零数组变换Ⅱ。用go语言,给定一个长度为 n 的整数数组 nums 和一个包含多个查询的二维数组 queries,其中每个查询 queries[i] = [li, ri, val
通过贪心策略和差分数组技术,我们可以在线性时间内高效地解决问题。算法的时间复杂度为O(n + m),空间复杂度为O(n)。原创 2025-06-08 06:44:30 · 776 阅读 · 0 评论 -
2025-06-07:零数组变换Ⅰ。用go语言,给定一个长度为 n 的整数数组 nums,以及一个二维数组 queries,每个查询 queries[i] 表示一个区间 [li, ri]。 对于每个查
2025-06-07:零数组变换Ⅰ。用go语言,给定一个长度为 n 的整数数组 nums,以及一个二维数组 queries,每个查询 queries[i] 表示一个区间 [li, ri]。对于每个查询,允许从 nums 的区间 [li, ri] 内选择任意多个索引,将这些索引对应的元素的值各减 1。如果按顺序依次执行所有查询操作后,最终能够使数组 nums 中所有元素都变为 0,则返回 true;否则返回 false。原创 2025-06-07 07:38:51 · 335 阅读 · 0 评论 -
2025-06-06:使数组元素等于零。用go语言,给定一个整数数组 nums。 起始时,你需要选择一个索引 curr,要求 nums[curr] = 0,并选择一个移动方向(向左或向右)。 接下来按
2025-06-06:使数组元素等于零。用go语言,给定一个整数数组 nums。起始时,你需要选择一个索引 curr,要求 nums[curr] = 0,并选择一个移动方向(向左或向右)。接下来按照以下步骤进行:若 curr 越界(curr < 0 或 curr >= n),过程结束。若当前位置的 nums[curr] 为 0,则根据当前方向移动一步(向右时 curr 加一,向左时 curr 减一)。原创 2025-06-06 07:10:32 · 923 阅读 · 0 评论 -
2025-06-05:统计小于 N 的 K 可约简整数。用go语言,给定一个二进制字符串 s,它表示一个整数 n 的二进制形式。 同时给定一个整数 k。 定义操作:对一个整数 x,令 x 变为其二进制
预处理f数组计算每个数的操作次数。使用数位动态规划统计满足“1”的个数为i的数的个数。累加所有f[i] <= k的数的个数。。原创 2025-06-05 06:57:27 · 908 阅读 · 0 评论 -
2025-06-04:好子序列的元素之和。用go语言,给定一个整数数组 nums,一个“好子序列”是指该子序列内任意相邻的两个元素之间的绝对差为1。 子序列是由原数组中删除若干元素(也可以不删除)后,
2025-06-04:好子序列的元素之和。用go语言,给定一个整数数组 nums,一个“好子序列”是指该子序列内任意相邻的两个元素之间的绝对差为1。子序列是由原数组中删除若干元素(也可以不删除)后,保持元素相对顺序不变得到的新序列。任务是计算 nums 中所有可能的好子序列的元素之和。由于结果可能很大,需要将最后结果对 1000000007 取模。注:长度为1的子序列视为好子序列。输入:nums = [3,4,5]。输出:40。原创 2025-06-04 07:10:11 · 509 阅读 · 0 评论 -
2025-06-03:检测相邻递增子数组Ⅱ。用go语言,给定一个包含 n 个整数的数组 nums,要求找出一个最大的整数 k,使得数组中存在两个连续且长度均为 k 的子数组,它们都是严格递增的。具体要
通过预处理严格递增子数组并检查相邻递增段的关系,可以在线性时间内找到最大的k。该算法的时间复杂度为O(n),空间复杂度为O(n)。原创 2025-06-03 07:39:03 · 773 阅读 · 0 评论 -
2025-06-02:最小可整除数位乘积Ⅱ。用go语言,给定一个表示正整数的字符串 num 和一个整数 t。 定义:如果一个整数的每一位都不是 0,则称该整数为“无零数字”。 任务要求:找出一个字符串
2025-06-02:最小可整除数位乘积Ⅱ。用go语言,给定一个表示正整数的字符串 num 和一个整数 t。定义:如果一个整数的每一位都不是 0,则称该整数为“无零数字”。任务要求:找出一个字符串,表示一个整数,满足以下条件:该整数大于或等于 num。是一个无零数字。该整数所有数位上的数字相乘得到的积可以被 t 整除。若存在符合条件的整数,返回其字符串表示;若不存在,返回 “-1”。num 只包含 [‘0’, ‘9’] 之间的数字。num 不包含前导 0。原创 2025-06-02 07:06:16 · 816 阅读 · 1 评论 -
2025-06-01:执行操作后元素的最高频率Ⅰ。用go语言,给定一个整数数组 nums 和两个整数 k 以及 numOperations。 你需要对数组 nums 进行恰好 numOperation
2025-06-01:执行操作后元素的最高频率Ⅰ。用go语言,给定一个整数数组 nums 和两个整数 k 以及 numOperations。你需要对数组 nums 进行恰好 numOperations 次操作。每次操作的步骤如下:选择一个之前没有选择过的下标 i。将 nums[i] 增加一个在区间 [-k, k] 内的任意整数。完成所有操作后,计算数组中出现次数最多的元素出现的频率,并返回这个最大频率。原创 2025-06-01 06:30:42 · 486 阅读 · 0 评论 -
2025-05-31:最小可整除数位乘积Ⅰ。用go语言,给定两个整数 n 和 t,要求找出不小于 n 的最小整数,使得这个整数各位数字的乘积能够被 t 整除。 1 <= n <= 100。 1 <=
2025-05-31:最小可整除数位乘积Ⅰ。用go语言,给定两个整数 n 和 t,要求找出不小于 n 的最小整数,使得这个整数各位数字的乘积能够被 t 整除。输入:n = 15, t = 3。输出:16。解释:16 的数位乘积为 6 ,可以被 3 整除,所以它是大于等于 15 且满足题目要求的最小整数。题目来自力扣3345。原创 2025-05-31 06:57:38 · 404 阅读 · 0 评论 -
2025-05-30:统计平衡排列的数目。用go语言,给定一个数字字符串 num,如果该字符串中所有位于奇数索引位置的数字之和与所有位于偶数索引位置的数字之和相等,则称这个字符串是“平衡”的。 现在需
2025-05-30:统计平衡排列的数目。用go语言,给定一个数字字符串 num,如果该字符串中所有位于奇数索引位置的数字之和与所有位于偶数索引位置的数字之和相等,则称这个字符串是“平衡”的。现在需要求出由 num 的所有不同字符排列中,满足“平衡”条件的字符串个数。由于结果可能非常大,请将最终结果对 1000000007 取模后返回。num 中的字符只包含数字 ‘0’ 到 ‘9’。输入:num = “123”。输出:2。原创 2025-05-30 07:51:22 · 548 阅读 · 0 评论 -
2025-05-29:到达最后一个房间的最少时间Ⅱ。用go语言,你有一个大小为 n 行 m 列的地窖,每个格子代表一个房间,房间按网格排列。 给定一个二维数组 moveTime,大小为 n x m,m
2025-05-29:到达最后一个房间的最少时间Ⅱ。用go语言,你有一个大小为 n 行 m 列的地窖,每个格子代表一个房间,房间按网格排列。给定一个二维数组 moveTime,大小为 n x m,moveTime[i][j] 表示你必须等到该时间点及之后才能开始进入房间 (i, j)。你从时刻 t=0 的房间 (0, 0) 出发,每次移动只能到相邻(上下左右边相连)的房间。原创 2025-05-29 07:40:40 · 728 阅读 · 0 评论 -
2025-05-28:到达最后一个房间的最少时间Ⅰ。用go语言,你有一个地窖,里面由 n 行 m 列共 n*m 个房间组成,排列成一个网格。 给定一个 n x m 的二维数组 moveTime,其中
2025-05-28:到达最后一个房间的最少时间Ⅰ。用go语言,你有一个地窖,里面由 n 行 m 列共 n*m 个房间组成,排列成一个网格。给定一个 n x m 的二维数组 moveTime,其中 moveTime[i][j] 表示第 i 行第 j 列的房间开始可进入(即房门打开)所需的最早时间(以秒为单位)。你从时间点 t=0 时刻出发,起点是左上角的房间 (0, 0)。每次移动只能到上下左右相邻的房间,且移动到相邻房间需要 1 秒。原创 2025-05-28 07:08:56 · 838 阅读 · 0 评论 -
2025-05-27:检查平衡字符串。用go语言,给定一个只包含数字字符(0-9)的字符串 num,如果位于偶数索引位置上的数字之和等于位于奇数索引位置上的数字之和,则称该字符串为“平衡字符串”。 请
2025-05-27:检查平衡字符串。用go语言,给定一个只包含数字字符(0-9)的字符串 num,如果位于偶数索引位置上的数字之和等于位于奇数索引位置上的数字之和,则称该字符串为“平衡字符串”。请判断输入的字符串是否满足这个条件,满足时返回 true,否则返回 false。num 仅由数字 0 - 9 组成。输入:num = “24123”。输出:true。解释:偶数下标处的数字之和为 2 + 1 + 3 = 6,奇数下标处的数字之和为 4 + 2 = 6。原创 2025-05-27 07:14:48 · 265 阅读 · 0 评论 -
2025-05-26:字符串转换后的长度Ⅱ。用go语言,你有一个只包含小写字母的字符串 s,一个整数 t 表示转换次数,还有一个长度为 26 的数组 nums。每次转换过程如下: - 对字符串 s 中
通过矩阵快速幂,我们将问题从优化到O(log t)的时间复杂度,能够高效处理t很大的情况。空间复杂度是常数O(1)。原创 2025-05-26 07:13:16 · 594 阅读 · 0 评论 -
2025-05-25:最大公约数相等的子序列数量。用go语言,给定一个整数数组 nums,需要计算满足以下条件的非空子序列对 (seq1, seq2) 的数量: 1. seq1 和 seq2 是 nu
2025-05-25:最大公约数相等的子序列数量。用go语言,给定一个整数数组 nums,需要计算满足以下条件的非空子序列对 (seq1, seq2) 的数量:seq1 和 seq2 是 nums 的两个非空子序列,且它们在原数组中的索引不重叠(即它们没有共同的元素下标)。seq1 中所有元素的最大公约数(GCD)与 seq2 中所有元素的最大公约数相等。求满足上述条件的子序列对总数,并将结果对 1000000007 取模后返回。输入: nums = [10,20,30]。输出: 2。原创 2025-05-25 06:29:49 · 597 阅读 · 0 评论 -
2025-05-24:字符串转换后的长度Ⅰ。用go语言,给定一个字符串 s 和一个整数 t,表示需要进行的转换次数。每次转换中,对字符串中每个字符进行如下替换规则: - 若字符是 ‘z‘,则用字符串
2025-05-24:字符串转换后的长度Ⅰ。用go语言,给定一个字符串 s 和一个整数 t,表示需要进行的转换次数。每次转换中,对字符串中每个字符进行如下替换规则:若字符是 ‘z’,则用字符串 “ab” 替换它;否则,将该字符替换为字母表中下一个字符(例如 ‘a’ 变成 ‘b’,‘b’ 变成 ‘c’,依次类推)。要求计算执行完第 t 次转换后,最终字符串的长度。由于结果可能非常大,需要返回结果对 1000000007 取模的值。s 仅由小写英文字母组成。原创 2025-05-24 19:13:28 · 403 阅读 · 0 评论 -
2025-05-23:数组的最大因子得分。用go语言,给定一个整数数组 nums。 定义“因子得分”为该数组中所有元素的最小公倍数(LCM)与最大公约数(GCD)相乘后的结果。 现在你最多可以移除数组
2025-05-23:数组的最大因子得分。用go语言,给定一个整数数组 nums。定义“因子得分”为该数组中所有元素的最小公倍数(LCM)与最大公约数(GCD)相乘后的结果。现在你最多可以移除数组中的一个元素,求在这种情况下,nums 的最大因子得分。特别说明:如果数组只剩一个数字,则其因子得分等于该数字自身。如果数组为空,则因子得分为 0。输入: nums = [2,4,8,16]。输出: 64。原创 2025-05-23 07:13:30 · 528 阅读 · 0 评论 -
2025-05-22:找到初始输入字符串Ⅱ。用go语言,Alice 在键盘上输入一个字符串,但由于输入时可能按键时间过长,导致某些字符被重复输入多次。 给定一个字符串 word,表示最终显示在屏幕上的
总时间复杂度O(n * k)。总额外空间复杂度O(k)。原创 2025-05-22 07:28:33 · 536 阅读 · 0 评论 -
2025-05-21:旅客可以得到的最多点数。用go语言,有一个国家包含 n 座城市,城市之间全部直接相连。一位游客计划游玩恰好 k 天(天数编号从0开始),起点城市可自由选择。 每天游客有两种行动方
2025-05-21:旅客可以得到的最多点数。用go语言,有一个国家包含 n 座城市,城市之间全部直接相连。一位游客计划游玩恰好 k 天(天数编号从0开始),起点城市可自由选择。每天游客有两种行动方案:留在当前城市:第 i 天停留在当天所在城市 curr,可获得 stayScore[i][curr] 的积分。前往其他城市:从当前城市 curr 出发,访问另一城市 dest,可获得 travelScore[curr][dest] 的积分。请你计算游客在这 k 天内能获得的最高总积分。1 <= n <= 200原创 2025-05-21 07:27:42 · 264 阅读 · 0 评论 -
2025-05-20:修改后子树的大小。用go语言,给你一棵有 n 个节点的树,节点编号从 0 到 n-1,且节点 0 是树的根。树的结构用一个长度为 n 的数组 parent 表示,其中 paren
大体过程构建树的邻接表。通过DFS遍历树,维护当前路径中每个字符的最近祖先。对于每个子节点,根据其字符找到最近的祖先,并将子树大小累加到该祖先。回溯时恢复祖先状态。最终size数组即为答案。时间复杂度:O(n)。空间复杂度:O(n)。原创 2025-05-20 07:22:10 · 722 阅读 · 0 评论 -
2025-05-19:找到初始输入字符串Ⅰ。用go语言,Alice 在电脑上输入一个字符串时,可能会因为按键时间过长,导致某个字符被重复输入多次。尽管她尽力避免犯错,但最终的输入结果最多只有一次此类重
2025-05-19:找到初始输入字符串Ⅰ。用go语言,Alice 在电脑上输入一个字符串时,可能会因为按键时间过长,导致某个字符被重复输入多次。尽管她尽力避免犯错,但最终的输入结果最多只有一次此类重复错误。给定一个字符串 word,表示她输入后显示在屏幕上的内容。请你计算,有多少种不同的字符串,可能是她最初想输入的原始内容。换句话说,统计所有可能的原始字符串数量,使得经过最多一次重复按键导致的字符延长后,能得到 word 这个字符串。word 只包含小写英文字母。原创 2025-05-19 07:24:46 · 777 阅读 · 0 评论 -
2025-05-18:判断 DFS 字符串是否是回文串。用go语言,给定一棵包含 n 个节点的树,节点编号从 0 到 n-1,根节点编号为 0。用一个长度为 n 的数组 parent 表示树的结构,其
2025-05-18:判断 DFS 字符串是否是回文串。用go语言,给定一棵包含 n 个节点的树,节点编号从 0 到 n-1,根节点编号为 0。用一个长度为 n 的数组 parent 表示树的结构,其中 parent[i] 代表节点 i 的父节点,且因为 0 是根节点,所以 parent[0] 必定为 -1。同时给出一个长度为 n 的字符串 s,s[i] 是节点 i 对应的字符。原创 2025-05-18 06:30:05 · 551 阅读 · 0 评论 -
2025-05-17:使数组非递减的最少除法操作次数。用go语言,给定一个整数数组 nums。 定义:对于一个正整数 x,所有严格小于 x 的正因子称为 x 的“真因数”。举例来说,2 是 4 的真因
预处理lpf数组是关键,它使得后续操作可以在常数时间内完成。通过从右向左遍历数组,可以贪心地处理每个元素,确保每次操作都是必要的。时间复杂度和空间复杂度都是线性的,但由于mx是固定的,实际表现非常高效。原创 2025-05-17 07:23:28 · 663 阅读 · 0 评论 -
2025-05-16:字符至少出现 K 次的子字符串Ⅰ。用go语言,给定一个字符串 s 和一个整数 k,要求统计 s 中所有子字符串里,至少有某个字符出现的次数不少于 k 的子字符串数量。子字符串指的
2025-05-16:字符至少出现 K 次的子字符串Ⅰ。用go语言,给定一个字符串 s 和一个整数 k,要求统计 s 中所有子字符串里,至少有某个字符出现的次数不少于 k 的子字符串数量。子字符串指的是 s 中连续且非空的一段字符。s 仅由小写英文字母组成。输入: s = “abacb”, k = 2。输出: 4。解释:符合条件的子字符串如下:“aba”(字符 ‘a’ 出现 2 次)。“abac”(字符 ‘a’ 出现 2 次)。“abacb”(字符 ‘a’ 出现 2 次)。原创 2025-05-16 07:30:28 · 276 阅读 · 0 评论 -
2025-05-15:统计能获胜的出招序列数。用go语言,给定一个目标字符串 target,Alice 使用一个特殊键盘输入该字符串。这个键盘有两个按键: 1. 按键1:在屏幕当前字符串后追加字符 ‘
时间复杂度O(n),其中n是target的长度。空间复杂度O(n),用于存储结果序列和中间字符串。原创 2025-05-15 07:33:21 · 699 阅读 · 0 评论 -
2025-05-14:统计能获胜的出招序列数。用go语言,Alice 和 Bob 玩一个回合制幻想战斗游戏,游戏共进行 n 轮。每轮双方同时召唤一种魔法生物,三种生物分别是火龙(F)、水蛇(W)和地精
使用动态规划来解决这个问题。定义状态i:已经处理了前i轮(从0到n)。j:当前Bob的净得分(Bob得分 - Alice得分),范围可能在-n到n之间。pre:Bob在前一轮出招的生物(0: F, 1: W, 2: E),用于确保当前轮不与前一轮相同。O(n^2)。O(n^2)。原创 2025-05-14 06:43:40 · 874 阅读 · 0 评论 -
2025-05-13:第 K 大的完美二叉子树的大小。用go语言,给定一棵二叉树的根节点 root 以及一个整数 k,要求找出第 k 大的满足“完美二叉树”条件的子树的节点数量。这里的“完美二叉树”指
递归遍历所有子树,判断是否是完美二叉树。统计不同高度的完美二叉树的数量。从高到低计算第k大的子树大小。时间复杂度O(N),空间复杂度O(N)。原创 2025-05-13 07:28:34 · 643 阅读 · 0 评论 -
2025-05-12:计算子数组的 x-sumⅠ。用go语言,给定一个长度为 n 的整数数组 nums,以及两个整数 k 和 x。 定义数组的 x-sum 如下: 1. 统计数组中各个元素的出现频率。
2025-05-12:计算子数组的 x-sumⅠ。用go语言,给定一个长度为 n 的整数数组 nums,以及两个整数 k 和 x。定义数组的 x-sum 如下:统计数组中各个元素的出现频率。选出出现次数最多的前 x 个元素的所有出现位置。若出现次数相同,则数值较大的元素优先被选中。将选中的这些元素加起来,得到 x-sum。如果不同的元素数量少于 x,则直接返回数组所有元素的和。原创 2025-05-12 07:14:15 · 758 阅读 · 0 评论 -
k3s v1.33.0+k3s1 全面升级解析:这些关键更新你不能错过!
此次k3s v1.33.0+k3s1版本面向未来、面向稳定,是k3s发展历程中的重要里程碑。无论是初学者还是资深架构师,都能通过这次更新享受到更优的容器编排体验。我们建议所有现有用户尽快评估升级,抓住新一波云原生创新红利。原创 2025-05-11 06:30:08 · 673 阅读 · 0 评论 -
2025-05-11:安排活动的方案数。用go语言,有 n 位表演者和 x 个节目,所有表演者都会被分配到这 x 个节目中的一个节目,也就是说每个表演者只能参加一个节目。某些节目可以没有表演者。 表演
2025-05-11:安排活动的方案数。用go语言,有 n 位表演者和 x 个节目,所有表演者都会被分配到这 x 个节目中的一个节目,也就是说每个表演者只能参加一个节目。某些节目可以没有表演者。表演者分配完成后,评委会给所有包含至少一位表演者的节目打分。每个节目的分数是一个介于 1 到 y 之间的整数。需要计算一共有多少种不同的活动方案。两个活动方案不同的条件是:至少有一个表演者被安排在不同的节目中,或者至少有一个节目的评分不同。因为结果可能很大,返回的数字需要对 10^9 + 7 取模。另外,要求在函数中原创 2025-05-11 06:29:32 · 879 阅读 · 0 评论 -
2025-05-10:从原字符串里进行删除操作的最多次数。用go语言,给定一个长度为 n 的字符串 source,以及一个字符串 pattern,且 pattern 是 source 的子序列。另外,
通过动态规划的方法,我们可以在O(n * m)的时间复杂度和O(m)的空间复杂度内解决问题。原创 2025-05-10 07:47:52 · 811 阅读 · 0 评论 -
2025-05-09:构造最小位运算数组Ⅰ。用go语言,给定一个长度为 n 的质数数组 nums,要求构造一个同样长度为 n 的数组 ans,使得对于每个索引 i,满足以下条件: - ans[i] 与
2025-05-09:构造最小位运算数组Ⅰ。用go语言,给定一个长度为 n 的质数数组 nums,要求构造一个同样长度为 n 的数组 ans,使得对于每个索引 i,满足以下条件:ans[i] 与 ans[i] + 1 进行按位或操作后的结果等于 nums[i],即 ans[i] OR (ans[i] + 1) == nums[i]。在满足上述条件的 ans[i] 中,选择最小的那个值。如果不存在符合条件的 ans[i],则将 ans[i] 设为 -1。这里的质数指的是大于1且仅有两个正因数的自然数。原创 2025-05-09 06:23:33 · 348 阅读 · 0 评论 -
2025-05-07:构造符合图结构的二维矩阵。用go语言,你给的是一个无向图的边列表 edges,图中有 n 个节点(编号0到n-1)。请根据这些边构造一个二维矩阵,使得: - 矩阵的每个单元格对应
该方法通过数论和前缀和技巧高效地解决了问题,适用于大规模数据。核心思想是利用倍数关系和容斥原理统计 GCD 分布,再通过前缀和和二分查找快速回答查询。原创 2025-05-07 07:59:34 · 682 阅读 · 0 评论 -
2025-05-06:移除可疑的方法。用go语言,你负责维护一个包含 n 个方法(编号从 0 到 n - 1)的项目。 已知方法 k 存在一个已知 bug。基于此,方法 k 以及所有被它直接或间接调用
时间复杂度:O(N + M)。空间复杂度:O(N + M)。原创 2025-05-06 07:28:09 · 965 阅读 · 0 评论 -
2025-05-05:连接二进制表示可形成的最大数值。用go语言,给定一个包含三个整数的数组 nums。 将数组中所有元素的二进制形式以某种顺序拼接起来,要求拼接后的二进制字符串所表示的数值尽可能大。
2025-05-05:连接二进制表示可形成的最大数值。用go语言,给定一个包含三个整数的数组 nums。将数组中所有元素的二进制形式以某种顺序拼接起来,要求拼接后的二进制字符串所表示的数值尽可能大。其中,每个数字的二进制表示不包含前导零。请你返回通过这种方式能得到的最大数值。输入: nums = [2,8,16]。输出: 1296。解释:按照顺序 [2, 8, 16] 连接数字的二进制表述,得到结果 “10100010000”,这是 1296 的二进制表示。原创 2025-05-05 08:04:02 · 830 阅读 · 0 评论 -
2025-05-04:元音辅音字符串计数Ⅱ。用go语言,你有一个字符串 word 和一个非负整数 k。 要求计算并返回 word 中所有满足以下条件的子字符串的数量: 1.子字符串中的每种元音字母(‘
2025-05-04:元音辅音字符串计数Ⅱ。用go语言,你有一个字符串 word 和一个非负整数 k。要求计算并返回 word 中所有满足以下条件的子字符串的数量:1.子字符串中的每种元音字母(‘a’、‘e’、‘i’、‘o’、‘u’)均至少出现过一次;2.子字符串中辅音字母的总数正好是 k 个。word 仅由小写英文字母组成。输入:word = “ieaouqqieaouqq”, k = 1。输出:3。原创 2025-05-04 06:30:44 · 249 阅读 · 0 评论 -
2025-05-03:元音辅音字符串计数Ⅰ。用go语言,给定一个字符串 word 和一个非负整数 k。我们需要找出 word 的所有子字符串中,满足以下两个条件的子字符串的数量: 1.元音字母齐全
该算法通过滑动窗口高效统计满足条件的子字符串,并利用差分思想避免重复计算,最终在 线性时间 和 常数空间 内解决问题。原创 2025-05-03 08:07:04 · 1026 阅读 · 0 评论