- 2026-06-05:移除至多一个元素后的最长交替子数组。用go语言,给你一个整数数组 nums。我们称某个连续片段(子数组)为“交替”,当它的相邻元素之间的大小关系严格交替出现:要么是“先上升再下降再上升……”(相邻比较依次为 <, >, <, > …),要么是“先下降再上升再下降……”(相邻比较依次为 >, <, >, < …)。单个元素的子数组也算交替。你最多可以从数组中删除一个元素(... 2026-06-05:移除至多一个元素后的最长交替子数组。用go语言,给你一个整数数组 nums。我们称某个连续片段(子数组)为“交替”,当它的相邻元素之间的大小关系严格交替出现:要么是“先上升再下降再上升……”(相邻比较依次为 <, >, <, > …),要么是“先下降再上升再下降……”(相邻比较依次为 >, <, >, < …)。单个元素的子数组也算交替。你最多可以从数组中删除一个元素(...
- 2026-06-02:最小分割分数。用go语言,给定一个整数数组 nums 和整数 k,要求把数组划分成恰好 k 段连续的非空子数组。每一种划分方式都对应一个“代价”,其计算方式如下:把这 k 段里每一段的元素求和得到 sumArr,再把该段的得分定义为 sumArr * (sumArr + 1) / 2,最后把 k 段得分相加得到该划分方案的总分。你的目标是在所有满足条件的划分中,求出总分... 2026-06-02:最小分割分数。用go语言,给定一个整数数组 nums 和整数 k,要求把数组划分成恰好 k 段连续的非空子数组。每一种划分方式都对应一个“代价”,其计算方式如下:把这 k 段里每一段的元素求和得到 sumArr,再把该段的得分定义为 sumArr * (sumArr + 1) / 2,最后把 k 段得分相加得到该划分方案的总分。你的目标是在所有满足条件的划分中,求出总分...
- 2026-06-01:按位与结果非零的最长上升子序列。用go语言,给定一个整数数组 nums。你需要在其中选择一个子序列,使它的元素严格递增,并且把该子序列所有元素做按位与运算(AND),最后得到的结果必须是非零。要求该子序列的长度尽可能大,并返回这个最大长度;如果不存在满足条件的子序列,就返回 0。子序列要求保持原数组的相对顺序,只能删除元素,不能改变顺序。1 <= nums.length... 2026-06-01:按位与结果非零的最长上升子序列。用go语言,给定一个整数数组 nums。你需要在其中选择一个子序列,使它的元素严格递增,并且把该子序列所有元素做按位与运算(AND),最后得到的结果必须是非零。要求该子序列的长度尽可能大,并返回这个最大长度;如果不存在满足条件的子序列,就返回 0。子序列要求保持原数组的相对顺序,只能删除元素,不能改变顺序。1 <= nums.length...
- 2026-05-27:非负元素轮替。用go语言,给定整数数组 nums 和整数 k。操作规则如下:1.数组中所有非负数参与处理;它们需要像循环轮替一样整体向左移动 k 位。轮替的含义是,移出数组末端的非负数会从开头继续接到后面。2.数组中所有负数必须完全固定在原位置,不允许移动。3.轮替结束后,把轮替后的非负数按顺序依次放回数组中,但只会填入原来那些位置为非负数的槽位;所有原本是负数的位置保... 2026-05-27:非负元素轮替。用go语言,给定整数数组 nums 和整数 k。操作规则如下:1.数组中所有非负数参与处理;它们需要像循环轮替一样整体向左移动 k 位。轮替的含义是,移出数组末端的非负数会从开头继续接到后面。2.数组中所有负数必须完全固定在原位置,不允许移动。3.轮替结束后,把轮替后的非负数按顺序依次放回数组中,但只会填入原来那些位置为非负数的槽位;所有原本是负数的位置保...
- 2026-05-26:移除前缀使数组严格递增。用go语言,给定整数数组 nums,你可以从数组开头“删掉一段连续的前缀”(前缀长度可以为 0)。要求删除后剩下的部分必须是严格递增的(即剩余数组中任意相邻两项满足后者 > 前者)。在满足条件的前提下,返回“需要删除的前缀”的最小长度。1 <= nums.length <= 100000。-1000000000 <= nums[i] <= 100... 2026-05-26:移除前缀使数组严格递增。用go语言,给定整数数组 nums,你可以从数组开头“删掉一段连续的前缀”(前缀长度可以为 0)。要求删除后剩下的部分必须是严格递增的(即剩余数组中任意相邻两项满足后者 > 前者)。在满足条件的前提下,返回“需要删除的前缀”的最小长度。1 <= nums.length <= 100000。-1000000000 <= nums[i] <= 100...
- 2026-05-24:预算下的最大总容量。用go语言,有两组长度都为 n 的整数数组:costs:第 i 台机器的价格capacity:第 i 台机器的性能指标(容量)再给定一个预算 budget。你可以从这 n 台机器里挑选最多两台且彼此不同的机器。要求所选机器的总花费必须严格小于 budget。在满足上述条件的前提下,你需要计算:可以选到的机器的总容量最大是多少。1 <= n == co... 2026-05-24:预算下的最大总容量。用go语言,有两组长度都为 n 的整数数组:costs:第 i 台机器的价格capacity:第 i 台机器的性能指标(容量)再给定一个预算 budget。你可以从这 n 台机器里挑选最多两台且彼此不同的机器。要求所选机器的总花费必须严格小于 budget。在满足上述条件的前提下,你需要计算:可以选到的机器的总容量最大是多少。1 <= n == co...
- 2026-05-22:翻转树上最少边。用go语言,给你一棵有 n 个节点的无向树,节点编号为 0 到 n-1。树用数组 edges 表示:共有 n-1 条边,edges[i]=[ai, bi] 表示 i 号边连接节点 ai 和 bi。再给你两个长度为 n 的二进制字符串 start 和 target,其中 start[x] 是节点 x 的初始颜色,target[x] 是节点 x 的目标颜色。... 2026-05-22:翻转树上最少边。用go语言,给你一棵有 n 个节点的无向树,节点编号为 0 到 n-1。树用数组 edges 表示:共有 n-1 条边,edges[i]=[ai, bi] 表示 i 号边连接节点 ai 和 bi。再给你两个长度为 n 的二进制字符串 start 和 target,其中 start[x] 是节点 x 的初始颜色,target[x] 是节点 x 的目标颜色。...
- 2026-05-21:变成目标数组的最少操作次数。用go语言,给你两个长度为 n 的整数数组 nums 和 target。nums[i] 表示当前位置 i 的当前值,target[i] 表示你希望当前位置 i 最终变成的期望值。你可以进行任意多次操作(可以不做)。每次操作你要先选定一个整数 x,然后在数组 nums 里找出所有“极大连续区间”:这些区间里的每个位置都等于 x,且该区间在保持全... 2026-05-21:变成目标数组的最少操作次数。用go语言,给你两个长度为 n 的整数数组 nums 和 target。nums[i] 表示当前位置 i 的当前值,target[i] 表示你希望当前位置 i 最终变成的期望值。你可以进行任意多次操作(可以不做)。每次操作你要先选定一个整数 x,然后在数组 nums 里找出所有“极大连续区间”:这些区间里的每个位置都等于 x,且该区间在保持全...
- 2026-05-20:最好可到达的塔。用go语言,给定一个二维整数数组 towers,其中每个元素 towers[i] = [x_i, y_i, q_i] 表示第 i 座塔的坐标与质量因子。再给定一个整数数组 center = [c_x, c_y] 表示你的所在位置,以及一个整数 radius。判断规则:当某座塔与 center 的曼哈顿距离满足|x_i - c_x| + |y_i - c_... 2026-05-20:最好可到达的塔。用go语言,给定一个二维整数数组 towers,其中每个元素 towers[i] = [x_i, y_i, q_i] 表示第 i 座塔的坐标与质量因子。再给定一个整数数组 center = [c_x, c_y] 表示你的所在位置,以及一个整数 radius。判断规则:当某座塔与 center 的曼哈顿距离满足|x_i - c_x| + |y_i - c_...
- 2026-05-19:增加操作后最大按位与的结果。用go语言,已知一个整数数组 nums,以及两个整数 k 和 m。你可以进行至多 k 次操作:每次操作你可以选定数组中的某个位置 i,把 nums[i] 的值增加 1。在最多做完这 k 次操作之后,从数组里任意挑选出 m 个元素组成一个子集(子集大小固定为 m),对这 m 个元素做按位与运算。你的目标是:让这个按位与的结果尽可能大。问最大的可... 2026-05-19:增加操作后最大按位与的结果。用go语言,已知一个整数数组 nums,以及两个整数 k 和 m。你可以进行至多 k 次操作:每次操作你可以选定数组中的某个位置 i,把 nums[i] 的值增加 1。在最多做完这 k 次操作之后,从数组里任意挑选出 m 个元素组成一个子集(子集大小固定为 m),对这 m 个元素做按位与运算。你的目标是:让这个按位与的结果尽可能大。问最大的可...
- 2026-05-18:统计凯撒加密对数目。用go语言,给定一个长度都为 m、只含小写字母的字符串数组 words(共 n 个)。如果可以通过对两个字符串 s、t 反复执行同一种“整体循环右移字母”的操作,使它们最终完全一致,那么称 s 与 t 相似。具体操作是:你可以任选一个当前的字符串,把其中每个字母都替换成字母表中紧接着的下一个字母(例如 z 变成 a)。你可以对 s 或 t 进行任意次... 2026-05-18:统计凯撒加密对数目。用go语言,给定一个长度都为 m、只含小写字母的字符串数组 words(共 n 个)。如果可以通过对两个字符串 s、t 反复执行同一种“整体循环右移字母”的操作,使它们最终完全一致,那么称 s 与 t 相似。具体操作是:你可以任选一个当前的字符串,把其中每个字母都替换成字母表中紧接着的下一个字母(例如 z 变成 a)。你可以对 s 或 t 进行任意次...
- 2026-05-17:中心子数组的数量。用go语言,给定一个整数数组 nums。考虑数组中的任意一个连续非空子数组。若该子数组的“总和”恰好等于该子数组中“至少一个元素的值”,则称这个子数组为中心子数组。你的任务是:统计 nums 中所有中心子数组的数量,并返回这个数量。1 <= nums.length <= 500。-100000 <= nums[i] <= 100000。输入: nums... 2026-05-17:中心子数组的数量。用go语言,给定一个整数数组 nums。考虑数组中的任意一个连续非空子数组。若该子数组的“总和”恰好等于该子数组中“至少一个元素的值”,则称这个子数组为中心子数组。你的任务是:统计 nums 中所有中心子数组的数量,并返回这个数量。1 <= nums.length <= 500。-100000 <= nums[i] <= 100000。输入: nums...
- 2026-05-15:合并有序列表的最小成本。用go语言,给定一个二维整数数组 lists,其中每个 lists[i] 都是非空且按非递减顺序排列的整数序列。你可以反复进行操作:每次从 lists 里选出两个不同的序列 a = lists[i] 和 b = lists[j],然后把它们合并成一个新序列。该次合并的费用为:len(a) + len(b) + abs(median(a) - me... 2026-05-15:合并有序列表的最小成本。用go语言,给定一个二维整数数组 lists,其中每个 lists[i] 都是非空且按非递减顺序排列的整数序列。你可以反复进行操作:每次从 lists 里选出两个不同的序列 a = lists[i] 和 b = lists[j],然后把它们合并成一个新序列。该次合并的费用为:len(a) + len(b) + abs(median(a) - me...
- 在上一章中,我们构建了任务控制块(TCB)这个静态骨架。它像一份详尽的个人档案,记录了任务的栈位置、优先级和链表节点。但一个真正的任务绝不是静止不动的。它会随着代码的执行和外部事件的发生,反复地在“能够运行”、“正在运行”和“等待某件事”之间来回切换。驱动这一切动态切换的,就是任务状态机。如果说TCB是任务的“档案袋”,那么状态机就是任务的“人生轨迹图”。理解状态机,是理解调度器如何管理多任... 在上一章中,我们构建了任务控制块(TCB)这个静态骨架。它像一份详尽的个人档案,记录了任务的栈位置、优先级和链表节点。但一个真正的任务绝不是静止不动的。它会随着代码的执行和外部事件的发生,反复地在“能够运行”、“正在运行”和“等待某件事”之间来回切换。驱动这一切动态切换的,就是任务状态机。如果说TCB是任务的“档案袋”,那么状态机就是任务的“人生轨迹图”。理解状态机,是理解调度器如何管理多任...
- 在上一节中,我们把实时操作系统(RTOS)的调度器比喻为一位精明的“管家”。但管家要想管理好一大家子人,首先得有一个花名册——记录每个成员的姓名、年龄、分工和当前状态。在RTOS中,扮演这个“花名册”角色的核心数据结构,就是任务控制块(Task Control Block,简称TCB)。没有TCB,任务就只是一个虚无缥缈的函数。正是TCB,让任务从一个“执行函数”变成了一个可以被内核识别、管... 在上一节中,我们把实时操作系统(RTOS)的调度器比喻为一位精明的“管家”。但管家要想管理好一大家子人,首先得有一个花名册——记录每个成员的姓名、年龄、分工和当前状态。在RTOS中,扮演这个“花名册”角色的核心数据结构,就是任务控制块(Task Control Block,简称TCB)。没有TCB,任务就只是一个虚无缥缈的函数。正是TCB,让任务从一个“执行函数”变成了一个可以被内核识别、管...
上滑加载中
推荐直播
-
华为云码道 × 仓颉编程:工程化AI编码探索2026/05/27 周三 19:00-21:00
刘俊杰-华为云仓颉语言专家/李炎-华为云码道技术专家/王智鹏-OpenCangjie开源社区发起人
本场直播围绕华为云仓颉语言与华为云码道的深度结合,展示华为云智能编程从零基础到高效落地的完整生态能力。以华为云码道为引擎,仓颉语言为载体,带给大家日常提效、趣味创新到极速量产的开发体验。
回顾中
热门标签