假设有一个机器人位于 n x m 网格(n 行 m 列)的左上角。机器人只能在任何时候向下或向右移动。机器人想要到达网格的右下角(下图中标有“END”)。网格中的一些单元格被标记为障碍物。因此,我们必须找到有多少条可能的唯一路径?例如,如果网格如下所示:[[0, 0, 0], [0, 1, 0], [0, 0, 0]],则网格将为... 阅读更多
假设有一个机器人位于 n x m 网格(n 行 m 列)的左上角。机器人只能在任何时候向下或向右移动。机器人想要到达网格的右下角(下图中标有“END”)。因此,我们必须找到有多少条可能的唯一路径?例如,如果 m = 3 且 n = 2,则网格将如下所示:机器人 END 输出将是 3,因此共有 3 种不同的方法可以从起点到达... 阅读更多
假设我们有一个链表。我们必须将列表向右旋转 k 个位置。k 的值是非负的。因此,如果列表类似于 [1, 23, 4, 5, NULL],并且 k = 2,则输出将为 [4, 5, 1, 2, 3, NULL]。让我们看看步骤:如果列表为空,则返回 null len := 1 创建一个名为 tail 的节点 := head while tail 的 next 不为空 将 len 增加 1 tail := tail 的 next tail 的 next := head k := k mod len newHead := null for i := 0 to len – k tail ... 阅读更多
假设集合类似于 [1, 2, 3, ..., n],包含总共 n! 个唯一排列。通过按顺序列出并标记所有排列,我们得到 n = 3 的这些序列:["123", "132", "213", "231", "312", "321"] 因此,如果给出 n 和 k,则返回第 k 个排列序列。n 将在 1 到 9(包括)之间,k 将在 1 到 n!(包括)之间。例如,如果 n = 3。让我们看看步骤:ans := 空字符串,定义名为 candidates 的大小为 n 的数组 for i in range 0 to n – ... 阅读更多
假设我们有一个正整数 n,我们必须生成一个具有 n2 个元素的螺旋顺序的方阵。因此,如果 n = 5,则矩阵将为:1 2 3 4 12 13 14 5 11 16 15 6 10 9 8 7 让我们看看步骤:设置 (row1, col1) := (0, 0) 和 (row2, col2) := (n, n),并创建一个名为 res 的矩阵,然后用 0 填充它,并设置 num := 1 while num < n2,然后中断 for i in range row1 + 1 to row2, res[i, col2-1] = num, num 加 1 if num > n2,然后中断 for i in range col2 – 2 down to col1 – 1,... 阅读更多