假设我们有一个 N*M 矩阵 A,这是 3D 图形的表示。点 (i, j) 处建筑物的高度为 A[i][j]。我们必须找到图形的表面积。因此,如果输入类似于 N = 3, M = 3, A = [[1, 4, 5], [3, 3, 4], [1, 3, 5]],则输出将为 72。为了解决这个问题,我们将遵循以下步骤:res := 0 for i in range 0 to N, do for j in range 0 to M, do up_side := 0 left_side := 0 if i > 0, then up_side := array[i - 1, j] if ... 阅读更多
假设我们有一个包含 n 个值的数组 A(元素可能不相同)。我们必须找到给定数组的所有子集可能的最大差的总和。现在考虑 max(s) 表示任何子集中的最大值,min(s) 表示集合中的最小值。我们必须找到所有可能的子集的 max(s)-min(s) 之和。因此,如果输入类似于 A = [1, 3, 4],则输出将为 9。为了解决这个问题,我们将遵循以下步骤:n := A 的大小 对列表 A 进行排序 sum_min := 0, sum_max := 0 for i in range ... 阅读更多
假设我们有两个字符串 s1 和 s2,我们必须在 s1 中找到最小的子字符串,以便有效地使用 s2 的所有字符。因此,如果输入类似于 s1 = "I am a student",s2 = "mdn",则输出将为 "m a studen"。为了解决这个问题,我们将遵循以下步骤:N := 26 str_len := 主字符串的大小,patt_len := 模式的长度 if str_len < patt_len,则返回 None hash_pat := 一个大小为 N 的数组,并填充为 0 hash_str := 一个大小为 N 的数组,并填充为 0 for i in range 0 to patt_len,do hash_pat[ASCII ... 阅读更多
假设我们有一个排序的正数数组,此数组按升序排序,我们必须找到不能表示为给定集合的任何子集的元素之和的最小正值。我们必须在 O(n) 时间内解决这个问题。因此,如果输入类似于 A = [1, 4, 8, 12, 13, 17],则输出将为 2。为了解决这个问题,我们将遵循以下步骤:n := A 的大小 answer := 1 for i in range 0 to n,do if A[i]