![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
福大大架构师每日一题
福大大架构师每日一题
最新面试题,涉及golang,rust,mysql,redis,云原生,算法,分布式,网络,操作系统。
展开
-
2024-06-26:用go语言,给定一个长度为n的数组nums和一个正整数k, 找到数组中所有相差绝对值恰好为k的子数组, 并返回这些子数组中元素之和的最大值。 如果找不到这样的子数组,返回0。 输
2024-06-26:用go语言,给定一个长度为n的数组nums和一个正整数k,找到数组中所有相差绝对值恰好为k的子数组,并返回这些子数组中元素之和的最大值。如果找不到这样的子数组,返回0。输入:nums = [-1,3,2,4,5], k = 3。输出:11。解释:好子数组中第一个元素和最后一个元素的差的绝对值必须为 3。好子数组有 [-1,3,2] 和 [2,4,5]。最大子数组和为 11 ,对应的子数组为 [2,4,5]。题目来自leetcode3026。原创 2024-06-26 16:26:31 · 279 阅读 · 0 评论 -
2024-06-22:用go语言,给定一个起始下标为 0 的长度为3的整数数组 nums,根据这些数字构建三角形。 如果无法构成三角形,则返回 “none“; 否则根据三角形的边长关系返回对应类型的字
2024-06-22:用go语言,给定一个起始下标为 0 的长度为3的整数数组 nums,根据这些数字构建三角形。如果无法构成三角形,则返回 “none”;否则根据三角形的边长关系返回对应类型的字符串:equilateral(等边三角形)、isosceles(等腰三角形)或 scalene(不等边三角形)。输入:nums = [3,3,3]。输出:“equilateral”。题目来自leetcode3024。原创 2024-06-22 20:50:00 · 159 阅读 · 0 评论 -
2024-06-19:用go语言,给定一个起始下标为 0 的整数数组 nums 和一个整数 k, 可以执行一个操作将相邻两个元素按位AND后替换为结果。 要求在最多执行 k 次操作的情况下, 计算数组
2024-06-19:用go语言,给定一个起始下标为 0 的整数数组 nums 和一个整数 k,可以执行一个操作将相邻两个元素按位AND后替换为结果。要求在最多执行 k 次操作的情况下,计算数组中所有元素按位OR后的最小值。输入:nums = [3,5,3,2,7], k = 2。输出:3。解释:执行以下操作:1.将 nums[0] 和 nums[1] 替换为 (nums[0] & nums[1]) ,得到 nums 为 [1,3,2,7]。原创 2024-06-19 17:06:58 · 226 阅读 · 0 评论 -
2024-06-15:用go语言,Alice 和 Bob 在一个环形草地上玩一个回合制游戏。 草地上分布着一些鲜花,其中 Alice 到 Bob 之间顺时针方向有 x 朵鲜花,逆时针方向有 y 朵鲜花
2024-06-15:用go语言,Alice 和 Bob 在一个环形草地上玩一个回合制游戏。草地上分布着一些鲜花,其中 Alice 到 Bob 之间顺时针方向有 x 朵鲜花,逆时针方向有 y 朵鲜花。游戏规则如下:1.游戏从 Alice 开始。2.每个回合中,当前玩家必须选择顺时针或逆时针,并在所选方向上摘取一朵鲜花。3.游戏继续直到所有鲜花都被摘完,此时当前玩家捕捉到对手,获得胜利。原创 2024-06-15 16:20:12 · 469 阅读 · 0 评论 -
2024-06-12:用go语言,给定一个下标从 0 开始的字符串 `s`,其中包含用户的输入。 所谓按键变更是指按下与上次按下的键不同的键。 举例来说,如果 `s = “ab“`,表示发生了一次按键
2024-06-12:用go语言,给定一个下标从 0 开始的字符串s,其中包含用户的输入。所谓按键变更是指按下与上次按下的键不同的键。举例来说,如果s = "ab",表示发生了一次按键变更;而对于s = "bBBb",则没有发生按键变更。要求计算用户输入过程中按键发生变更的次数。需要注意的是,shift 键或 caps lock 键等修饰键不算作按键变更。换句话说,如果用户先按下字母 ‘a’,然后再按下字母 ‘A’,不算作按键变更。输入:s = “aAbBcC”。输出:2。原创 2024-06-12 15:38:21 · 295 阅读 · 0 评论 -
2024-06-08:用go语言,给定三个正整数 n、x和y, 表示城市中的房屋数量以及编号为x和y的两个特殊房屋。 在这座城市中,房屋通过街道相连。对于每个编号i(1 <= i < n), 存在一条
2024-06-08:用go语言,给定三个正整数 n、x和y,表示城市中的房屋数量以及编号为x和y的两个特殊房屋。在这座城市中,房屋通过街道相连。对于每个编号i(1原创 2024-06-08 20:23:26 · 809 阅读 · 0 评论 -
2024-06-05:用go语言,给定三个正整数 n、x 和 y, 描述一个城市中由 n 个房屋和 n 条街道连接的情况。 城市中存在一条额外的街道连接房屋 x 和房屋 y。 需要计算对于每个街道数(
2024-06-05:用go语言,给定三个正整数 n、x 和 y,描述一个城市中由 n 个房屋和 n 条街道连接的情况。城市中存在一条额外的街道连接房屋 x 和房屋 y。需要计算对于每个街道数(从 1 到 n),有多少房屋对满足从一个房屋到另一个房屋经过的街道数正好为该街道数。在结果数组中,索引 k 对应的值表示满足此条件的房屋对数量。输入:n = 3, x = 1, y = 3。输出:[6,0,0]。题目来自leetcode3015。原创 2024-06-05 16:26:31 · 590 阅读 · 1 评论 -
2024-06-01:用go语言,给定一个从0开始索引的整数数组 nums 、两个正整数 k 和 dist 。 数组的代价是该数组中的第一个元素。 问题要求将数组 nums 分割成 k 个连续且不重叠
2024-06-01:用go语言,给定一个从0开始索引的整数数组 nums 、两个正整数 k 和 dist。数组的代价是该数组中的第一个元素。问题要求将数组 nums 分割成 k 个连续且不重叠的子数组,同时确保第二个到第k个子数组的第一个元素与它前面的子数组的最后一个元素的距离不超过 dist。换句话说,要把数组分割成这样的子数组:并且满足 ik-1 - i1原创 2024-06-01 22:19:47 · 250 阅读 · 0 评论 -
2024-05-29:用go语言,给定一个只包含正整数的数组 nums,任务是通过多次操作最小化数组的长度。 每次操作可以从数组中选择两个不同的下标 i 和 j,使得 nums[i] 和 nums[j
2024-05-29:用go语言,给定一个只包含正整数的数组 nums,任务是通过多次操作最小化数组的长度。每次操作可以从数组中选择两个不同的下标 i 和 j,使得 nums[i] 和 nums[j] 均为正整数。然后,将 nums[i] 除以 nums[j] 的余数插入数组末尾,同时删除原始的两个元素。最终要求计算进行操作后的最短数组长度。输入:nums = [1,4,3,1]。输出:1。题目来自leetcode3012。原创 2024-05-29 14:31:34 · 587 阅读 · 0 评论 -
2024-05-25:用go语言,给定一个只包含正整数且下标从0开始的数组nums。 你可以执行以下操作: 如果两个相邻元素的二进制表示中包含相同数量的1, 那么可以交换这两个元素。 你可以重复进行这
2024-05-25:用go语言,给定一个只包含正整数且下标从0开始的数组nums。你可以执行以下操作:如果两个相邻元素的二进制表示中包含相同数量的1,那么可以交换这两个元素。你可以重复进行这个操作任意次数(包括0次)。你的任务是判断能否通过这些操作使得数组变得有序。如果可以,返回true;否则返回false。输入:nums = [8,4,2,30,15]。输出:true。题目来自leetcode3011。原创 2024-05-25 21:16:41 · 290 阅读 · 0 评论 -
2024-05-22:用go语言,你有一个包含 n 个整数的数组 nums。 每个数组的代价是指该数组中的第一个元素的值。 你的目标是将这个数组划分为三个连续且互不重叠的子数组。 然后,计算这三个子数
2024-05-22:用go语言,你有一个包含 n 个整数的数组 nums。每个数组的代价是指该数组中的第一个元素的值。你的目标是将这个数组划分为三个连续且互不重叠的子数组。然后,计算这三个子数组的代价之和,要求返回这个和的最小值。输入:nums = [1,2,3,12]。输出:6。题目来自leetcode3010。原创 2024-05-22 20:59:40 · 677 阅读 · 0 评论 -
2024-05-18:用go语言,给定一个从 0 开始的字符串 s,以及两个子字符串 a 和 b,还有一个整数 k。 定义一个“美丽下标”,当满足以下条件时: 1.找到字符串 a 在字符串 s 中的位
2024-05-18:用go语言,给定一个从 0 开始的字符串 s,以及两个子字符串 a 和 b,还有一个整数 k。定义一个“美丽下标”,当满足以下条件时:1.找到字符串 a 在字符串 s 中的位置,且该位置范围为 0原创 2024-05-18 20:28:46 · 791 阅读 · 0 评论 -
2024-05-15:用go语言,考虑一个整数 k 和一个整数 x。 对于一个数字 num, 在其二进制表示中, 从最低有效位开始, 我们计算在 x,2x,3x 等位置处设定位的数量来确定其价值。
2024-05-15:用go语言,考虑一个整数 k 和一个整数 x。对于一个数字 num,在其二进制表示中,从最低有效位开始,我们计算在 x,2x,3x 等位置处设定位的数量来确定其价值。举例说明,若对于 x=1,num=13,则二进制表示为000001101,对应的价值为3。又如,当x=2,num=13,二进制表示依然为000001101,但对应的价值是1。另一个例子是当x=3,num=362,二进制表示为101101010,价值为2。一个数字的累加价值是从1到该数字的所有数字的总价值。原创 2024-05-15 15:21:15 · 632 阅读 · 1 评论 -
2024-05-11:用go语言,给定一个从零开始索引的字符串 s, 以及两个字符串 a 和 b,还有一个整数 k。 定义美丽下标为满足特定条件的字符串下标。 需要找到所有美丽下标,按升序排列后返回为
2024-05-11:用go语言,给定一个从零开始索引的字符串 s,以及两个字符串 a 和 b,还有一个整数 k。定义美丽下标为满足特定条件的字符串下标。需要找到所有美丽下标,按升序排列后返回为数组形式。输入:s = “isawsquirrelnearmysquirrelhouseohmy”, a = “my”, b = “squirrel”, k = 15。输出:[16,33]。题目来自leetcode3006。原创 2024-05-11 21:27:26 · 383 阅读 · 0 评论 -
2024-05-08:用go语言,给定一个由正整数组成的数组 nums, 找出数组中频率最高的元素, 然后计算该元素在数组中出现的总次数。 输入:nums = [1,2,2,3,1,4]。 输出:4。
2024-05-08:用go语言,给定一个由正整数组成的数组 nums,找出数组中频率最高的元素,然后计算该元素在数组中出现的总次数。输入:nums = [1,2,2,3,1,4]。输出:4。题目来自leetcode3005。原创 2024-05-08 13:19:33 · 536 阅读 · 0 评论 -
2024-05-04:用go语言,给定一个起始索引为0的字符串s和一个整数k。 要进行分割操作,直到字符串s为空: 选择s的最长前缀,该前缀最多包含k个不同字符; 删除该前缀,递增分割计数。如果有剩余
2024-05-04:用go语言,给定一个起始索引为0的字符串s和一个整数k。要进行分割操作,直到字符串s为空:选择s的最长前缀,该前缀最多包含k个不同字符;删除该前缀,递增分割计数。如果有剩余字符,它们保持原来的顺序。在操作之前,可以修改字符串s中的一个字符为另一个小写英文字母。在最佳情况下修改至多一次字符后,返回操作结束时得到的最大分割数量。输入:s = “accca”, k = 2。输出:3。题目来自leetcode3003。原创 2024-05-04 14:37:03 · 1064 阅读 · 0 评论 -
2024-05-01:用go语言,给定两个长度为偶数n的整数数组nums1和nums2, 分别移除它们各自的一半元素, 将剩下的元素合并成集合s。 找出集合s中可能包含的最多元素数量。 输入:nums
2024-05-01:用go语言,给定两个长度为偶数n的整数数组nums1和nums2,分别移除它们各自的一半元素,将剩下的元素合并成集合s。找出集合s中可能包含的最多元素数量。输入:nums1 = [1,2,3,4,5,6], nums2 = [2,3,2,3,2,3]。输出:5。题目来自leetcode3002。原创 2024-05-01 20:50:17 · 670 阅读 · 2 评论 -
2024-04-27:用go语言,在一个下标从 1 开始的 8 x 8 棋盘上,有三个棋子,分别是白色车、白色象和黑色皇后。 给定这三个棋子的位置,请计算出要捕获黑色皇后所需的最少移动次数。 需要注意
2024-04-27:用go语言,在一个下标从 1 开始的 8 x 8 棋盘上,有三个棋子,分别是白色车、白色象和黑色皇后。给定这三个棋子的位置,请计算出要捕获黑色皇后所需的最少移动次数。需要注意的是,白色车可以垂直或水平移动,而白色象可以沿对角线移动,它们不能跳过其他棋子。如果白色车或白色象可以移动到黑色皇后的位置上,即认为它们能够捕获黑色皇后。请注意,黑色皇后自身不能进行移动。输入:a = 1, b = 1, c = 8, d = 8, e = 2, f = 3。输出:2。原创 2024-04-27 10:04:21 · 659 阅读 · 1 评论 -
2024-04-21:用go语言,给一棵根为1的树,每次询问子树颜色种类数。 假设节点总数为n,颜色总数为m, 每个节点的颜色,依次给出,整棵树以1节点做头, 有k次查询,询问某个节点为头的子树,一共
2024-04-21:用go语言,给一棵根为1的树,每次询问子树颜色种类数。假设节点总数为n,颜色总数为m,每个节点的颜色,依次给出,整棵树以1节点做头,有k次查询,询问某个节点为头的子树,一共有多少种颜色。答案2024-04-21:来自。原创 2024-04-21 08:13:53 · 625 阅读 · 0 评论 -
2024-04-17:用go语言,欢迎各位勇者莅临力扣城,本次的挑战游戏名为「力扣泡泡龙」。 游戏的起点是一颗形状如二叉树的泡泡树,其中每个节点的值代表该泡泡的分值。勇者们有一次机会可以击破一个节点泡
2024-04-17:用go语言,欢迎各位勇者莅临力扣城,本次的挑战游戏名为「力扣泡泡龙」。游戏的起点是一颗形状如二叉树的泡泡树,其中每个节点的值代表该泡泡的分值。勇者们有一次机会可以击破一个节点泡泡,但需要满足以下规则:被击破的节点泡泡最多只能有一个子节点泡泡。如果被击破的节点泡泡有子节点泡泡,那么这个子节点泡泡将会取代被击破泡泡的位置,也就是说,整棵以被击破泡泡为根的子树将会上移。我们的任务是计算在进行了这样一个击破操作(或选择不击破任何节点)后,这棵二叉泡泡树的最大「层和」是多少。原创 2024-04-17 13:32:43 · 930 阅读 · 0 评论 -
2024-04-13:用go语言,给定一个整数数组 `nums`, 请编写一个函数,返回一个新的数组 `counts`。 满足以下条件:对于每个 `nums[i]`, `counts[i]` 表示在
2024-04-13:用go语言,给定一个整数数组nums请编写一个函数,返回一个新的数组counts。满足以下条件:对于每个nums[i]counts[i]表示在nums[i]右侧且比nums[i]小的元素数量。输入:nums = [5,2,6,1]。输出:[2,1,1,0]。答案2024-04-13:来自。原创 2024-04-13 21:36:29 · 884 阅读 · 0 评论 -
2024-04-10:用go语言,考虑一个非负整数数组 A, 如果数组中相邻元素之和为完全平方数,我们称这个数组是正方形数组。 现在要计算 A 的正方形排列的数量。 两个排列 A1 和 A2 被认为是
2024-04-10:用go语言,考虑一个非负整数数组 A,如果数组中相邻元素之和为完全平方数,我们称这个数组是正方形数组。现在要计算 A 的正方形排列的数量。两个排列 A1 和 A2 被认为是不同的,如果存在至少一个索引 i,满足 A1[i]!= A2[i]。输入:[1,17,8]。输出:2。答案2024-04-10:来自。原创 2024-04-10 14:26:36 · 852 阅读 · 0 评论 -
2024-04-06:用go语言,给你两个非负整数数组 rowSum 和 colSum, 其中 rowSum[i] 是二维矩阵中第 i 行元素的和, colSum[j] 是第 j 列元素的和,换言之你
2024-04-06:用go语言,给你两个非负整数数组 rowSum 和 colSum,其中 rowSum[i] 是二维矩阵中第 i 行元素的和,colSum[j] 是第 j 列元素的和,换言之你不知道矩阵里的每个元素,但是你知道每一行和每一列的和。请找到大小为 rowSum.length x colSum.length 的任意 非负整数 矩阵。且该矩阵满足 rowSum 和 colSum 的要求。请你返回任意一个满足题目要求的二维矩阵,题目保证存在 至少一个 可行矩阵。原创 2024-04-06 14:55:31 · 1684 阅读 · 0 评论 -
2024-04-03:用go语言,在一个小城市里,有 m 个房子排成一排, 你需要给每个房子涂上 n 种颜色之一(颜色编号为 1 到 n ), 有的房子去年夏天已经涂过颜色了,所以这些房子不可以被重新
2024-04-03:用go语言,在一个小城市里,有 m 个房子排成一排,你需要给每个房子涂上 n 种颜色之一(颜色编号为 1 到 n ),有的房子去年夏天已经涂过颜色了,所以这些房子不可以被重新涂色,我们将连续相同颜色尽可能多的房子称为一个街区。比方说 houses = [1,2,2,3,3,2,1,1],它包含 5 个街区 [{1}, {2,2}, {3,3}, {2}, {1,1}]。原创 2024-04-03 14:04:33 · 1373 阅读 · 0 评论 -
2024-03-30:用go语言,集团里有 n 名员工,他们可以完成各种各样的工作创造利润, 第 i 种工作会产生 profit[i] 的利润,它要求 group[i] 名成员共同参与, 如果成员参与
2024-03-30:用go语言,集团里有 n 名员工,他们可以完成各种各样的工作创造利润,第 i 种工作会产生 profit[i] 的利润,它要求 group[i] 名成员共同参与,如果成员参与了其中一项工作,就不能参与另一项工作,工作的任何至少产生 minProfit 利润的子集称为 盈利计划,并且工作的成员总数最多为 n。有多少种计划可以选择?因为答案很大,所以 返回结果模 10^9 + 7 的值。原创 2024-03-30 12:38:23 · 1276 阅读 · 0 评论 -
2024-03-27:用go语言,多维费用背包。 给你一个二进制字符串数组 strs 和两个整数 m 和 n, 请你找出并返回 strs 的最大子集的长度,该子集中 最多 有 m 个 0 和 n 个
2024-03-27:用go语言,多维费用背包。给你一个二进制字符串数组 strs 和两个整数 m 和 n,请你找出并返回 strs 的最大子集的长度,该子集中 最多 有 m 个 0 和 n 个 1。如果 x 的所有元素也是 y 的元素,集合 x 是集合 y 的 子集。输入:strs = [“10”, “0001”, “111001”, “1”, “0”], m = 5, n = 3。输出:4。答案2024-03-27:来自。原创 2024-03-27 17:57:44 · 1046 阅读 · 0 评论 -
2024-03-23:用go语言,一张桌子上总共有 n 个硬币 栈 。每个栈有 正整数 个带面值的硬币, 每一次操作中,你可以从任意一个栈的 顶部 取出 1 个硬币,从栈中移除它,并放入你的钱包里。
2024-03-23:用go语言,一张桌子上总共有 n 个硬币 栈。每个栈有 正整数 个带面值的硬币,每一次操作中,你可以从任意一个栈的 顶部 取出 1 个硬币,从栈中移除它,并放入你的钱包里。给你一个列表 piles ,其中 piles[i] 是一个整数数组,分别表示第 i 个栈里 从顶到底 的硬币面值。同时给你一个正整数 k。请你返回在 恰好 进行 k 次操作的前提下,你钱包里硬币面值之和 最大为多少?输入:piles = [[1,100,3],[7,8,9]], k = 2。输出:101。原创 2024-03-23 18:45:48 · 979 阅读 · 0 评论 -
2024-03-20:用go语言,自 01背包问世之后,小 A 对此深感兴趣。 一天,小 A 去远游,却发现他的背包不同于 01 背包,他的物品大致可分为 k 组。 每组中的物品只能选择1件,现在他想
2024-03-20:用go语言,自 01背包问世之后,小 A 对此深感兴趣。一天,小 A 去远游,却发现他的背包不同于 01 背包,他的物品大致可分为 k 组。每组中的物品只能选择1件,现在他想知道最大的利用价值是多少?答案2024-03-20:来自。原创 2024-03-20 09:55:25 · 983 阅读 · 0 评论 -
2024-03-16:用go语言,给你一个正整数数组 nums, 每一次操作中,你可以从 nums 中选择 任意 一个数并将它减小到 恰好 一半。 (注意,在后续操作中你可以对减半过的数继续执行操作)
2024-03-16:用go语言,给你一个正整数数组 nums,每一次操作中,你可以从 nums 中选择 任意 一个数并将它减小到 恰好 一半。(注意,在后续操作中你可以对减半过的数继续执行操作)请你返回将 nums 数组和 至少 减少一半的 最少 操作数。输入:nums = [5,19,8,1]。输出:3。答案2024-03-16:来自。原创 2024-03-16 14:52:23 · 1056 阅读 · 0 评论 -
2024-03-13:用go语言,给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。 输入: root = [6,2,8,0,4,7,9,null,null,3,5], p = 2, q =
2024-03-13:用go语言,给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。输入: root = [6,2,8,0,4,7,9,null,null,3,5], p = 2, q = 8。输出: 6。答案2024-03-13:来自。原创 2024-03-13 13:33:21 · 1308 阅读 · 0 评论 -
2024-03-09:用go语言,我们把无限数量的栈排成一行,按从左到右的次序从 0 开始编号, 每个栈的的最大容量 capacity 都相同。实现一个叫「餐盘」的类 DinnerPlates, Di
2024-03-09:用go语言,我们把无限数量的栈排成一行,按从左到右的次序从 0 开始编号,每个栈的的最大容量 capacity 都相同。实现一个叫「餐盘」的类 DinnerPlates,DinnerPlates(int capacity) - 给出栈的最大容量 capacity,void push(int val) 将给出的正整数 val 推入 从左往右第一个 没有满的栈,int pop() 返回 从右往左第一个 非空栈顶部的值,并将其从栈中删除,如果所有的栈都是空的,请返回 -1。原创 2024-03-09 20:25:04 · 1531 阅读 · 0 评论 -
2024-03-06:用go语言,每一种货币都给定面值val[i],和拥有的数量cnt[i], 想知道目前拥有的货币,在钱数为1、2、3...m时,能找零成功的钱数有多少? 也就是说当钱数的范围是1~
2024-03-06:用go语言,每一种货币都给定面值val[i],和拥有的数量cnt[i],想知道目前拥有的货币,在钱数为1、2、3…m时,能找零成功的钱数有多少?也就是说当钱数的范围是1~m,返回这个范围上有多少可以找零成功的钱数。比如只有3元的货币,数量是5张,m = 10。那么在1~10范围上,只有钱数是3、6、9时,可以成功找零,所以返回3,表示有3种钱数可以找零成功。答案2024-03-06:来自。原创 2024-03-06 10:40:24 · 1351 阅读 · 0 评论 -
2024-03-02:用go语言,一个句子是由一些单词与它们之间的单个空格组成, 且句子的开头和结尾没有多余空格, 比方说,“Hello World“ ,“HELLO“ ,“hello world h
2024-03-02:用go语言,一个句子是由一些单词与它们之间的单个空格组成,且句子的开头和结尾没有多余空格,比方说,“Hello World” ,“HELLO” ,“hello world hello world” 都是句子,每个单词都 只 包含大写和小写英文字母,如果两个句子 sentence1 和 sentence2,可以通过往其中一个句子插入一个任意的句子(可以是空句子)而得到另一个句子,那么我们称这两个句子是 相似的。原创 2024-03-02 10:59:32 · 1793 阅读 · 0 评论 -
2024-02-28:用go语言,有一个由x轴和y轴组成的坐标系, “y下“和“y上“表示一条无限延伸的道路,“y下“表示这个道路的下限,“y上“表示这个道路的上限, 给定一批长方形,每一个长方形有(
2024-02-28:用go语言,有一个由x轴和y轴组成的坐标系,"y下"和"y上"表示一条无限延伸的道路,"y下"表示这个道路的下限,"y上"表示这个道路的上限,给定一批长方形,每一个长方形有(x1, x2, y1, y2),4个坐标可以表示一个长方形,判断这条道路整体是不是可以走通的。以下为正式题目:图片在计算机处理中往往是使用二维矩阵来表示的,给你一个大小为 m x n 的二进制矩阵 image 表示一张黑白图片,0 代表白色像素,1 代表黑色像素,原创 2024-02-28 09:59:08 · 1685 阅读 · 0 评论 -
2024-02-24:用go语言,给你一个 n 个点的带权无向连通图,节点编号为 0 到 n-1, 同时还有一个数组 edges ,其中 edges[i] = [fromi, toi, weighti
2024-02-24:用go语言,给你一个 n 个点的带权无向连通图,节点编号为 0 到 n-1,同时还有一个数组 edges ,其中 edges[i] = [fromi, toi, weighti],表示在 fromi 和 toi 节点之间有一条带权无向边,最小生成树 (MST) 是给定图中边的一个子集,它连接了所有节点且没有环,而且这些边的权值和最小。请你找到给定图中最小生成树的所有关键边和伪关键边。如果从图中删去某条边,会导致最小生成树的权值和增加,那么我们就说它是一条关键边,原创 2024-02-24 18:35:19 · 1681 阅读 · 0 评论 -
2024-02-07:用go语言,一个公司准备组织一场会议,邀请名单上有 n 位员工, 公司准备了一张 圆形 的桌子,可以坐下 任意数目 的员工, 员工编号为 0 到 n - 1 。每位员工都有一位
2024-02-07:用go语言,一个公司准备组织一场会议,邀请名单上有 n 位员工,公司准备了一张 圆形 的桌子,可以坐下 任意数目 的员工,员工编号为 0 到 n - 1。每位员工都有一位 喜欢 的员工,每位员工 当且仅当 他被安排在喜欢员工的旁边,他才会参加会议,每位员工喜欢的员工 不会 是他自己。给你一个下标从 0 开始的整数数组 favorite,其中 favorite[i] 表示第 i 位员工喜欢的员工。请你返回参加会议的 最多员工数目。原创 2024-02-07 06:00:00 · 1140 阅读 · 0 评论 -
2024-02-03:用go语言,你有 k 个背包。给你一个下标从 0 开始的整数数组 weights, 其中 weights[i] 是第 i 个珠子的重量。同时给你整数 k, 请你按照如下规则将所有
2024-02-03:用go语言,你有 k 个背包。给你一个下标从 0 开始的整数数组 weights,其中 weights[i] 是第 i 个珠子的重量。同时给你整数 k,请你按照如下规则将所有的珠子放进 k 个背包。没有背包是空的。如果第 i 个珠子和第 j 个珠子在同一个背包里,那么下标在 i 到 j 之间的所有珠子都必须在这同一个背包中,如果一个背包有下标从 i 到 j 的所有珠子,那么这个背包的价格是 weights[i] + weights[j]。原创 2024-02-03 08:55:31 · 1414 阅读 · 0 评论 -
2024-01-31:用go语言,机器人正在玩一个古老的基于DOS的游戏, 游戏中有N+1座建筑,从0到N编号,从左到右排列, 编号为0的建筑高度为0个单位,编号为i的建筑的高度为H(i)个单位, 起
2024-01-31:用go语言,机器人正在玩一个古老的基于DOS的游戏,游戏中有N+1座建筑,从0到N编号,从左到右排列,编号为0的建筑高度为0个单位,编号为i的建筑的高度为H(i)个单位,起初, 机器人在编号为0的建筑处,每一步,它跳到下一个(右边)建筑。假设机器人在第k个建筑,且它现在的能量值是E,下一步它将跳到第个k+1建筑,它将会得到或者失去正比于与H(k+1)与E之差的能量,原创 2024-01-31 14:27:33 · 1712 阅读 · 0 评论 -
2024-01-27:用go语言,阿里巴巴走进了装满宝藏的藏宝洞。藏宝洞里面有N堆金币, 第i堆金币的总重量和总价值分别是m[i]、v[i], 阿里巴巴有一个承重量为T的背包,但并不一定有办法将全部的
2024-01-27:用go语言,阿里巴巴走进了装满宝藏的藏宝洞。藏宝洞里面有N堆金币,第i堆金币的总重量和总价值分别是m[i]、v[i],阿里巴巴有一个承重量为T的背包,但并不一定有办法将全部的金币都装进去,他想装走尽可能多价值的金币,所有金币都可以随意分割,分割完的金币重量价值比(也就是单位价格)不变。请问阿里巴巴最多可以拿走多少价值的金币?答案2024-01-27:来自。原创 2024-01-27 16:47:41 · 314 阅读 · 0 评论 -
2024-01-24:用go语言,已知一个n*n的01矩阵, 只能通过通过行交换、或者列交换的方式调整矩阵, 判断这个矩阵的对角线是否能全为1,如果能返回true,不能返回false。 我们升级一下:
2024-01-24:用go语言,已知一个n*n的01矩阵,只能通过通过行交换、或者列交换的方式调整矩阵,判断这个矩阵的对角线是否能全为1,如果能返回true,不能返回false。我们升级一下:已知一个n*n的01矩阵,只能通过通过行交换、或者列交换的方式调整矩阵,判断这个矩阵的对角线是否能全为1,如果不能打印-1。如果能,打印需要交换的次数,并且打印怎么交换。来自网易。答案2024-01-24:来自。原创 2024-01-24 09:42:58 · 1688 阅读 · 0 评论