- 2026-05-10:找到带限制序列的最大值。用go语言,给定一个整数 n、一个二维整数数组 restrictions、以及一个长度为 n-1 的数组 diff。你需要生成一个长度为 n 的非负整数序列 a[0…n-1],使得:a[0] 固定为 0。对于每个 i(0 ≤ i ≤ n-2),相邻项差的绝对值不超过给定限制:|a[i] - a[i+1]| ≤ diff[i]。对于 restric... 2026-05-10:找到带限制序列的最大值。用go语言,给定一个整数 n、一个二维整数数组 restrictions、以及一个长度为 n-1 的数组 diff。你需要生成一个长度为 n 的非负整数序列 a[0…n-1],使得:a[0] 固定为 0。对于每个 i(0 ≤ i ≤ n-2),相邻项差的绝对值不超过给定限制:|a[i] - a[i+1]| ≤ diff[i]。对于 restric...
- 2026-05-05:分割的最大得分。用go语言,给定一个长度为 n 的整数数组 nums。需要在所有满足 0 ≤ i < n−1 的位置中选择一个切分点 i,并计算该切分点的得分。对每个切分点 i:先计算前缀和:prefixSum(i) = nums[0] + nums[1] + … + nums[i]再计算后缀最小值:suffixMin(i) = 在 nums[i+1] 到 nums[n... 2026-05-05:分割的最大得分。用go语言,给定一个长度为 n 的整数数组 nums。需要在所有满足 0 ≤ i < n−1 的位置中选择一个切分点 i,并计算该切分点的得分。对每个切分点 i:先计算前缀和:prefixSum(i) = nums[0] + nums[1] + … + nums[i]再计算后缀最小值:suffixMin(i) = 在 nums[i+1] 到 nums[n...
- 2026-05-02:使所有字符相等的最小删除代价。用go语言,给定一个字符串 s(长度为 n)和一个数组 cost。其中 cost[i] 表示删除 s 中第 i 个字符所需要的代价。你可以任意选择要删除哪些字符(可以删除任意多个,也可以不删),但最终得到的字符串必须满足两点:1)不能是空串;2)最终字符串的所有字符都要相同(即由某一种字符重复组成)。问:为了达到上述条件,最小的删除总代价是... 2026-05-02:使所有字符相等的最小删除代价。用go语言,给定一个字符串 s(长度为 n)和一个数组 cost。其中 cost[i] 表示删除 s 中第 i 个字符所需要的代价。你可以任意选择要删除哪些字符(可以删除任意多个,也可以不删),但最终得到的字符串必须满足两点:1)不能是空串;2)最终字符串的所有字符都要相同(即由某一种字符重复组成)。问:为了达到上述条件,最小的删除总代价是...
- 2026-04-29:二进制交换后的最大分数。用go语言,给定一个长度为 n 的整数数组 nums 和一个长度相同的二进制字符串 s。初始得分为 0。对于字符串中每个位置上字符为 ‘1’ 的下标 i,分数都会加上 nums[i]。你可以进行任意次操作,也可以一次都不做。每次操作时,可以选择一个位置 i(0 <= i < n - 1),要求 s[i] = ‘0’ 且 s[i + 1] = ‘1... 2026-04-29:二进制交换后的最大分数。用go语言,给定一个长度为 n 的整数数组 nums 和一个长度相同的二进制字符串 s。初始得分为 0。对于字符串中每个位置上字符为 ‘1’ 的下标 i,分数都会加上 nums[i]。你可以进行任意次操作,也可以一次都不做。每次操作时,可以选择一个位置 i(0 <= i < n - 1),要求 s[i] = ‘0’ 且 s[i + 1] = ‘1...
- 2026-04-28:能被 3 整除的三元组最大和。用go语言,在数组 nums 中挑选出恰好三个数,使得这三个数的总和可以被 3 整除。要求计算所有满足条件的三元组里,它们的三个数之和所能达到的最大值;如果完全找不到满足条件的三元组,则结果为 0。3 <= nums.length <= 100000。1 <= nums[i] <= 100000。输入: nums = [4,2,3,1]。输... 2026-04-28:能被 3 整除的三元组最大和。用go语言,在数组 nums 中挑选出恰好三个数,使得这三个数的总和可以被 3 整除。要求计算所有满足条件的三元组里,它们的三个数之和所能达到的最大值;如果完全找不到满足条件的三元组,则结果为 0。3 <= nums.length <= 100000。1 <= nums[i] <= 100000。输入: nums = [4,2,3,1]。输...
- 引言C++ 的 STL 标准模板库,凭借封装完善的容器、算法和迭代器,已经成为 C++ 开发中不可或缺的核心组件,几乎所有的 C++ 项目都会用到 STL 容器。但很多开发者只关注 STL 容器的功能实现,却忽略了它的性能陷阱,导致在高频交易、实时计算、高性能服务等场景下,程序的执行性能远低于预期。IEEE Computer Society 在 2025 年发布的《C++ 高性能编程研究报告... 引言C++ 的 STL 标准模板库,凭借封装完善的容器、算法和迭代器,已经成为 C++ 开发中不可或缺的核心组件,几乎所有的 C++ 项目都会用到 STL 容器。但很多开发者只关注 STL 容器的功能实现,却忽略了它的性能陷阱,导致在高频交易、实时计算、高性能服务等场景下,程序的执行性能远低于预期。IEEE Computer Society 在 2025 年发布的《C++ 高性能编程研究报告...
- 2026-04-26:使循环数组余额非负的最少移动次数。用go语言,给定一个环形排列的数组 balance,长度为 n,其中 balance[i] 表示第 i 个人当前的净余额(正数代表有剩余,负数代表欠债)。在一次操作中,你可以选择某个人,把恰好 1 单位余额转给他的左邻居或右邻居(因为是环形,首尾相邻)。目标:通过若干次这样的转移,使得所有位置的余额都变为非负(即每个人都不再欠债)。要求... 2026-04-26:使循环数组余额非负的最少移动次数。用go语言,给定一个环形排列的数组 balance,长度为 n,其中 balance[i] 表示第 i 个人当前的净余额(正数代表有剩余,负数代表欠债)。在一次操作中,你可以选择某个人,把恰好 1 单位余额转给他的左邻居或右邻居(因为是环形,首尾相邻)。目标:通过若干次这样的转移,使得所有位置的余额都变为非负(即每个人都不再欠债)。要求...
- 2026-04-24:最大和最小 K 个元素的绝对差。用go语言,给定整数数组 nums 和整数 k,分别取出数组里最大的 k 个数并求它们的和;再取出数组里最小的 k 个数并求它们的和。最后计算这两个和之间的差值的绝对值,并返回该结果。1 <= n == nums.length <= 100。1 <= nums[i] <= 100。1 <= k <= n。输入: nums = [5,2,2... 2026-04-24:最大和最小 K 个元素的绝对差。用go语言,给定整数数组 nums 和整数 k,分别取出数组里最大的 k 个数并求它们的和;再取出数组里最小的 k 个数并求它们的和。最后计算这两个和之间的差值的绝对值,并返回该结果。1 <= n == nums.length <= 100。1 <= nums[i] <= 100。1 <= k <= n。输入: nums = [5,2,2...
- 2026-04-23:树中子图的最大得分。用go语言,给定一棵无向树(共 n 个节点,编号 0 到 n-1),树的边由数组 edges 描述:edges 长度为 n-1,edges[i] = [a, b] 表示节点 a 与节点 b 之间有一条边。再给定数组 good,长度为 n:若 good[i] = 1 表示节点 i 是“好节点”,若 good[i] = 0 表示节点 i 是“坏节点”。对... 2026-04-23:树中子图的最大得分。用go语言,给定一棵无向树(共 n 个节点,编号 0 到 n-1),树的边由数组 edges 描述:edges 长度为 n-1,edges[i] = [a, b] 表示节点 a 与节点 b 之间有一条边。再给定数组 good,长度为 n:若 good[i] = 1 表示节点 i 是“好节点”,若 good[i] = 0 表示节点 i 是“坏节点”。对...
- 2026-04-22:探索地牢的得分。用go语言,给定一个生命值上限 hp,以及两个长度分别为 n 的正整数数组 damage 和 requirement(下标从 1 到 n)。地牢中共有 n 个陷阱房间,房间编号为 1,2,…,n。你可以从某个起点开始依次进入房间,并且不能跳过任何房间;即使进入后生命值降到 0 或更低,你仍然必须继续往下走到末尾。当你进入第 i 个房间时,生命值会立刻减少... 2026-04-22:探索地牢的得分。用go语言,给定一个生命值上限 hp,以及两个长度分别为 n 的正整数数组 damage 和 requirement(下标从 1 到 n)。地牢中共有 n 个陷阱房间,房间编号为 1,2,…,n。你可以从某个起点开始依次进入房间,并且不能跳过任何房间;即使进入后生命值降到 0 或更低,你仍然必须继续往下走到末尾。当你进入第 i 个房间时,生命值会立刻减少...
- 2026-04-20:二进制反射排序。用go语言,把数组里每个数先转成二进制;对它的二进制表示做“二进制反射”(把二进制位从左到右反过来,前导零不计入);再把反射后的二进制串转回十进制,这个结果就是该元素的“反射值”。然后按所有元素的反射值从小到大排序;若两个数的反射值相同,则比较它们原始的数值大小,原数更小的排在前面。最后返回排序后的数组。1 <= nums.length <= 100。1... 2026-04-20:二进制反射排序。用go语言,把数组里每个数先转成二进制;对它的二进制表示做“二进制反射”(把二进制位从左到右反过来,前导零不计入);再把反射后的二进制串转回十进制,这个结果就是该元素的“反射值”。然后按所有元素的反射值从小到大排序;若两个数的反射值相同,则比较它们原始的数值大小,原数更小的排在前面。最后返回排序后的数组。1 <= nums.length <= 100。1...
- 2026-04-19:固定长度子数组中的最小逆序对数目。用go语言,给你一个整数数组 nums(长度为 n)和一个整数 k。所谓“逆序对”,指的是在数组中下标满足 i < j 且 nums[i] > nums[j] 的任意一对位置 (i, j)。对某个连续片段(即子数组)而言,统计它内部所有满足上述条件的逆序对数量,这个数量就是该子数组的“逆序对数量”。现在考虑 nums 中所有长度恰好为 ... 2026-04-19:固定长度子数组中的最小逆序对数目。用go语言,给你一个整数数组 nums(长度为 n)和一个整数 k。所谓“逆序对”,指的是在数组中下标满足 i < j 且 nums[i] > nums[j] 的任意一对位置 (i, j)。对某个连续片段(即子数组)而言,统计它内部所有满足上述条件的逆序对数量,这个数量就是该子数组的“逆序对数量”。现在考虑 nums 中所有长度恰好为 ...
- 2026-04-18:选择 K 个任务的最大总分数。用go语言,给定两个长度为 n 的整数数组 A 和 B,表示 n 个任务分别用两种技巧完成时的得分。第 i 个任务:选择技巧 1,可得 A[i] 分选择技巧 2,可得 B[i] 分再给定整数 k,要求你至少要有 k 个任务使用技巧 1 完成(这 k 个任务不要求是连续的或前面的任意位置)。其余任务可以任意选择技巧 1 或技巧 2。目标是:在... 2026-04-18:选择 K 个任务的最大总分数。用go语言,给定两个长度为 n 的整数数组 A 和 B,表示 n 个任务分别用两种技巧完成时的得分。第 i 个任务:选择技巧 1,可得 A[i] 分选择技巧 2,可得 B[i] 分再给定整数 k,要求你至少要有 k 个任务使用技巧 1 完成(这 k 个任务不要求是连续的或前面的任意位置)。其余任务可以任意选择技巧 1 或技巧 2。目标是:在...
- 2026-04-15:使数组元素相等的最小操作次数。用go语言,给定一个整数数组 nums 和一个整数 k。在一次操作中,你可以选择数组中某个元素,把它增加或减少 k(每次恰好改动 k 一次)。另外给定若干个查询 queries,其中每个查询是一个区间 [li, ri],表示取 nums 中从 li 到 ri 的连续子数组。对每个查询,你需要计算:把该子数组中的所有元素都变成同一个数所需的最... 2026-04-15:使数组元素相等的最小操作次数。用go语言,给定一个整数数组 nums 和一个整数 k。在一次操作中,你可以选择数组中某个元素,把它增加或减少 k(每次恰好改动 k 一次)。另外给定若干个查询 queries,其中每个查询是一个区间 [li, ri],表示取 nums 中从 li 到 ri 的连续子数组。对每个查询,你需要计算:把该子数组中的所有元素都变成同一个数所需的最...
- 2026-04-14:镜像对之间最小绝对距离。用go语言,给定一个整数数组 nums。如果存在两个下标 (i, j) 满足:1.0 <= i < j < nums.length2.把 nums[i] 的数字倒序后得到的数(倒序会自动忽略前导零),等于 nums[j]则称 (i, j) 为“镜像对”。对每个镜像对计算下标差的绝对值 abs(i - j),要求返回所有镜像对中最小的 abs(i ... 2026-04-14:镜像对之间最小绝对距离。用go语言,给定一个整数数组 nums。如果存在两个下标 (i, j) 满足:1.0 <= i < j < nums.length2.把 nums[i] 的数字倒序后得到的数(倒序会自动忽略前导零),等于 nums[j]则称 (i, j) 为“镜像对”。对每个镜像对计算下标差的绝对值 abs(i - j),要求返回所有镜像对中最小的 abs(i ...
上滑加载中
推荐直播
-
华为云码道 × 仓颉编程:工程化AI编码探索2026/05/27 周三 19:00-21:00
刘俊杰-华为云仓颉语言专家/李炎-华为云码道技术专家/王智鹏-OpenCangjie开源社区发起人
本场直播围绕华为云仓颉语言与华为云码道的深度结合,展示华为云智能编程从零基础到高效落地的完整生态能力。以华为云码道为引擎,仓颉语言为载体,带给大家日常提效、趣味创新到极速量产的开发体验。
回顾中
热门标签