212 次查看
假设我们有一个二进制矩阵,其中 0 表示空单元格,1 表示墙壁。我们可以从第一行的任何空单元格开始,并希望最终到达最后一行的任何空单元格。我们可以向左、向右或向下移动,我们必须找到最长的路径,其中我们最多只能访问每个单元格一次。如果这不可能,则返回 0。因此,如果输入类似于 000000010000,则输出将为 10,因为我们可以移动 (0, 3)、(0, 2)、(0, 1)、(0, 0)、(1, 0)、(1, 1)、(1, 2)、(2, 2)、... 阅读更多
442 次查看
假设我们有一个称为 nums 的数字列表,我们必须找到连续严格递增子列表的最大长度。我们最多可以从列表中移除一个元素。因此,如果输入类似于 nums = [35, 5, 6, 7, 8, 9, 12, 11, 26],则输出将为 7,因为如果我们从 nums 中移除 12,则列表将为 [5, 6, 7, 8, 9, 11, 26],长度为 7,这是最长的、连续的、严格递增的子列表。要解决此问题,我们将遵循以下步骤 - 如果 nums 为空,则返回 0 end := ... 阅读更多
189 次查看
假设我们有一个小写字符串 s。这包含英文字母以及“?”符号。对于每个“?”,我们必须将其删除或替换为任何小写字母。我们必须找到以字母“a”开头的最长连续递增子字符串的长度。因此,如果输入类似于 s = "vta???defke",则输出将为 6,因为我们可以将 s 转换为 "vtabcdefke",而 "abcdef" 是最长的连续递增子字符串,并且这也以 "a" 开头。要解决此问题,我们将遵循以下步骤 - maxlen := 0 length := 0 qmarks := 0 对于每个 c ... 阅读更多
274 次查看
假设我们有一个称为 nums 的数字列表,其中所有元素都是唯一的。我们必须找到包含连续元素的最长子列表的长度。因此,如果输入类似于 nums = [3, 6, 7, 5, 4, 9],则输出将为 5,因为子列表是 [3, 6, 7, 5, 4],它包含从 3 到 7 的所有连续元素。要解决此问题,我们将遵循以下步骤 - ret := 0 对于 i 的范围从 0 到 nums 的大小 - 1,执行 lhs := nums[i] rhs := nums[i] 对于 j 的范围从 i 到 nums 的大小 - 1,执行 ... 阅读更多
619 次查看
假设我们有一个非负值 n,我们必须找到其二进制表示形式中 1 的最长连续运行长度。因此,如果输入类似于 n = 1469,则输出将为 4,因为 156 的二进制表示形式为“10110111101”,因此有四个连续的 1 要解决此问题,我们将遵循以下步骤 - count := 0 当 n 不等于 0 时,执行 n := n AND (n 向左移动一位) count := count + 1 返回 count 示例让我们看看以下实现以更好地理解 - def solve(n): count = 0 当 n != 0 时,执行 n = n & (n
160 次查看
假设我们有一个数字列表 nums 和另一个值 diff,我们必须找到最长算术子序列的长度,其中子序列中任何连续数字之间的差异与 diff 相同。因此,如果输入类似于 nums = [-1, 1, 4, 7, 2, 10] diff = 3,则输出将为 4,因为我们可以选择类似于 [1, 4, 7, 10] 的子序列。要解决此问题,我们将遵循以下步骤 - seen := 一个空字典,当键不存在时,默认值为 0 mx := 0 对于 nums 中的每个 x,执行 如果 x - ... 阅读更多
597 次查看
假设我们有一个二进制字符串 s。我们最多可以将一个“0”翻转为“1”,我们必须找到 1 的最长连续子字符串的长度。因此,如果输入类似于 s = "1010110001",则输出将为 4,因为如果我们翻转索引 3 处存在的零,则我们得到字符串 "1011110001",这里 1 的最长子字符串的长度为 4。要解决此问题,我们将遵循以下步骤 - n := s 的大小 ans := 0 ones := 0 left := 0 right := 0 当 right < n 时,执行 如果 s[right] 为 ... 阅读更多
97 次查看
假设我们有一个称为 logs 的数字列表和另一个值 limit。logs[i] 中的每个元素表示第 i 个用户生成的日志的大小。limit 表示我们可以在数据库中存储的日志的总大小。我们必须找到最大的 x,以便如果我们将 logs 中的每个日志截断为最多大小 x,并且剩余日志大小的总和最多为 limit。如果不需要截断任何日志,则只需返回最大日志大小。因此,如果输入类似于 logs = [500, 200, 10000, 500, ... 阅读更多
155 次查看
假设我们有一个数字列表 nums,我们希望将列表拆分为两个部分 part1 和 part2,使得 part1 中的每个元素都小于或等于 part1 中的每个元素。我们必须找到可能的 part1 的最小长度(非 0 长度)。因此,如果输入类似于 nums = [3, 1, 2, 5, 4],则输出将为 3,因为我们可以将列表拆分为 part1 = [3, 1, 2] 和 part2 = [5, 4]。要解决此问题,我们将遵循以下步骤 - p := nums 的最小值 s := 0 对于 ... 阅读更多
353 次查看
要从 TimeDeltaIndex 对象中提取每个元素的天数,请使用 TimedeltaIndex.days 属性。首先,导入所需的库 - 导入 pandas 为 pd 创建一个 TimeDeltaIndex 对象。我们也使用“data”参数设置了类似 timedelta 的数据 - tdIndex = pd.TimedeltaIndex(data=['10 天 5 小时 2 分钟 3 微秒 10 纳秒', '+22:39:19.999999', '2 天 4 小时 03:08:02.000045', '+21:15:45.999999']) 显示 TimedeltaIndex - 打印(“TimedeltaIndex…”,tdIndex) 显示 TimeDeltaIndex 每个元素的天数 - 打印(“TimeDeltaIndex 对象的天数…”,tdIndex.days) 示例以下是代码 - 导入 pandas 为 pd # 创建一个 TimeDeltaIndex 对象 # 我们使用… 阅读更多