128 次浏览
假设我们有一个矩阵 mat。单元格可以包含以下三种字符之一:0 代表空区域,1 代表炸弹,2 代表敌人。炸弹只能在水平和垂直方向上爆炸。我们需要检查所有敌人是否会在炸弹爆炸时被杀死。因此,如果输入是这样的:0020010002000010,则输出为 True,因为位于 [1, 1] 的炸弹可以炸死位于 [2, 1] 的敌人,而位于 [3, 2] 的炸弹可以炸死位于 [0, 2] 的敌人。为了解决这个问题,我们将…… 阅读更多
2K+ 次浏览
假设我们有一个数字列表 nums。我们需要检查该列表是否为回文。因此,如果输入是这样的:nums = [10, 12, 15, 12, 10],则输出为 True。为了解决这个问题,我们将遵循以下步骤:n := nums 的大小,重置 is_palindrome,i := 0,当 i……
564 次浏览
假设我们有一个数字 n。我们需要检查它所有位数是否都能整除 n。因此,如果输入是这样的:n = 135,则输出为 True,因为 (135 / 1 = 135),(135 / 3 = 45) 和 (135 / 5 = 27)。为了解决这个问题,我们将遵循以下步骤:val := n,当 val > 0 时,执行:d := val mod 10,如果 n 不能被 d 整除,则返回 False,val := (val / 10) 的商,返回 True。让我们来看下面的实现来更好地理解:示例 在线演示def is_divisible(n, d) : return ... 阅读更多
330 次浏览
假设我们有一个数字 n。我们需要检查给定数字 n 的所有位是否都被设置为 (1)。因此,如果输入是这样的:n = 255,则输出为 True,因为 255 的二进制表示为 11111111。为了解决这个问题,我们将遵循以下步骤:如果数字与 0 相同,则返回 False,当数字 > 0 时,执行:如果数字为偶数,则返回 False,数字 := (数字 / 2) 的商,返回 True。让我们来看下面的实现来更好地理解:示例 在线演示def solve(number): if number == 0: return False while ... 阅读更多
106 次浏览
假设我们有一个长度为 2 的字符串 s,还有一个单词列表 w,其中所有单词的长度都为 2。我们需要检查是否可以连接 w 中的单词,并且连接后的字符串包含 s 作为子字符串。因此,如果输入是这样的:s = "no",w = ["ol", "on", "ni", "to"],则输出为 True,因为我们可以连接字符串,例如 "onol",它包含 "no"。为了解决这个问题,我们将遵循以下步骤:n := w 中单词的数量,char_0 := False,char_1 := False,对于范围 0 到…… 阅读更多
820 次浏览
假设我们有三个角度。我们需要检查是否可以使用这些角度构成一个正面积的三角形。因此,如果输入是这样的:a = 40,b = 120,c = 20,则输出为 True,因为 40 + 120 + 20 = 180。为了解决这个问题,我们将遵循以下步骤:如果 a、b 和 c 不为 0,并且 (a + b + c) 等于 180,则如果 (a + b) >= c 或 (b + c) >= a 或 (a + c) >= b,则返回…… 阅读更多
437 次浏览
假设我们有两个小写字符串 s 和 t。有时,当我们键入元音时,键可能会被长按,元音将重复 1 次或多次。我们需要检查 t 是否可能表示 s。因此,如果输入是这样的:s = "mine",t = "miiine",则输出为 True,因为元音 'i' 重复了三次,其他字母都很好。为了解决这个问题,我们将遵循以下步骤:s_len := s 的大小,t_len := t 的大小,j := 0,对于范围 0 到 s_len…… 阅读更多
366 次浏览
假设我们有两个字符串 s 和 t。我们需要检查 s 是否为 t 的后缀。因此,如果输入是这样的:s = "ate",t = "unfortunate",则输出为 True。为了解决这个问题,我们将遵循以下步骤:s_len := s 的大小,t_len := t 的大小,如果 s_len > t_len,则返回 False,对于范围 0 到 s_len,执行:如果 s[s_len - i - 1] 与 t[t_len - i - 1] 不相同,则返回 False,返回 True。让我们来看下面的实现来更好地理解:示例 在线演示def solve(s, t): s_len = len(s) ... 阅读更多
假设我们有一个字符串 s。我们需要检查给定的字符串是否为等词图。等词图是一个字符串,其中每个字母的出现次数恰好为一次。因此,如果输入是这样的:s = "education",则输出为 True,因为 "education" 中的所有字符都只出现一次。为了解决这个问题,我们将遵循以下步骤:char_list := 一个新的列表,对于单词中的每个字符,执行:如果字符是非数字字符,则如果字符在 char_list 中,则返回 False,将字符插入到 char_list 的末尾,返回 True。让我们来看下面的实现来更好地理解:示例 在线演示def ... 阅读更多
304 次浏览
假设我们有一个字符串 s。我们需要检查给定的字符串是否为回文串。回文串是由 6 个长度的回文串连接而成的字符串。因此,如果输入是这样的:s = "aabbaamnoonm",则输出为 True,因为它包含回文串,例如 "aabbaa" 和 "mnoonm",它们都长度为 6。为了解决这个问题,我们将遵循以下步骤:如果 s 的大小不是 6 的倍数,则返回 False,对于范围 0 到 s 的大小 - 1,以 6 为步长递增,执行:如果 s[从索引 i 到 i+5] 不是回文,则返回 False,返回 True。让我们来看…… 阅读更多