假设我们有一个字符串 s,它编码了一个更长的字符串。s 表示为 n(t) 的串联,n(t) 表示 t 的 n 次串联,t 或者是一个普通字符串,或者是一个递归编码的字符串。我们需要找到 s 的解码版本。因此,如果输入类似于 s = "3(pi)2(3(am))0(f)1(u)",则输出将为 "pipipiamamamamamamu"。为了解决这个问题,我们将遵循以下步骤:i := 0 定义一个函数 parse()。这将接受 ans := 一个新列表 while i < s 的大小且 s[i] 不等于 ")",执行以下操作:if s[i] ... 阅读更多
假设我们有一个二进制矩阵。这里 0 表示空单元格,1 表示有人员的单元格。两个单元格之间的距离是 x 坐标差和 y 坐标差之间的最大值。如果存在一个空正方形,使得该单元格到矩阵中每个人的距离以及矩阵的每一侧都大于或等于 k,则矩阵被认为是安全的,安全系数为 k。我们需要找到我们可以安全的最大系数 k 值。因此,如果…… 阅读更多
假设我们有两个字符串 s 和 t。我们需要找到同时具有 s 和 t 作为子序列的最短字符串的长度。因此,如果输入类似于 s = "pipe" t = "people",则输出将为 7,因为一个可能的超序列是 "pieople"。为了解决这个问题,我们将遵循以下步骤:m := s 的大小,n := t 的大小 table := 一个大小为 (n + 1) x (m + 1) 的表,并填充 0 for i in range 0 to m,执行以下操作:for j in range 0 to n,执行以下操作:if i 等于 ... 阅读更多