找到 34423 篇文章,关于编程

C++中的最小路径和

Arnab Chakraborty
更新于 2020年4月28日 09:19:34

172 次浏览

假设我们有一个 m x n 矩阵,其中填充了非负整数,找到从左上角到右下角的路径,使沿其路径的所有数字之和最小。在任何时候,移动只能向下或向右。例如,如果矩阵如下所示:1 3 1 1 5 1 4 2 1 输出将是 7,路径将是 1, 3, 1, 1, 1,这将使总和最小。让我们看看步骤:a := 行数,b := 列数 i := a – 1,j := b - 1 while j >= 0 matrix[a, j] ... 阅读更多

C++中的唯一路径 II

Arnab Chakraborty
更新于 2020年5月4日 06:06:20

180 次浏览

假设有一个机器人位于 n x m 网格(n 行 m 列)的左上角。机器人只能在任何时候向下或向右移动。机器人想要到达网格的右下角(下图中标有“END”)。网格中的一些单元格被标记为障碍物。因此,我们必须找到有多少条可能的唯一路径?例如,如果网格如下所示:[[0, 0, 0], [0, 1, 0], [0, 0, 0]],则网格将为... 阅读更多

Python中的唯一路径

Arnab Chakraborty
更新于 2020年5月4日 06:02:28

619 次浏览

假设有一个机器人位于 n x m 网格(n 行 m 列)的左上角。机器人只能在任何时候向下或向右移动。机器人想要到达网格的右下角(下图中标有“END”)。因此,我们必须找到有多少条可能的唯一路径?例如,如果 m = 3 且 n = 2,则网格将如下所示:机器人 END 输出将是 3,因此共有 3 种不同的方法可以从起点到达... 阅读更多

C++中的旋转链表

Arnab Chakraborty
更新于 2020年5月4日 05:59:49

552 次浏览

假设我们有一个链表。我们必须将列表向右旋转 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 ... 阅读更多

C++中的排列序列

Arnab Chakraborty
更新于 2020年5月4日 05:58:12

495 次浏览

假设集合类似于 [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 – ... 阅读更多

Python中的螺旋矩阵 II

Arnab Chakraborty
更新于 2020年5月4日 05:56:58

2K+ 次浏览

假设我们有一个正整数 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,... 阅读更多

Python中的合并区间

Arnab Chakraborty
更新于 2020年5月4日 05:55:55

1K+ 次浏览

假设我们有一组区间,我们必须合并所有重叠的区间。因此,如果区间类似于 [[1, 3], [2, 6], [8, 10], [15, 18]],则合并后的区间将为 [[1, 6], [8, 10], [15, 18]]。这是因为有两个区间是重叠的,区间是 [1, 3] 和 [2, 6],这些区间合并为 [1, 6]。让我们看看步骤:如果区间列表长度为 0,则返回一个空列表 使用快速排序机制对区间列表进行排序 stack := 一个空栈,并将 intervals[0] 插入到栈中 for i in range 1 ... 阅读更多

Python中的跳跃游戏

Arnab Chakraborty
更新于 2020年5月4日 05:54:49

3K+ 次浏览

假设我们有一个非负整数数组;我们最初位于数组的第一个索引处。给定数组中的每个元素代表该位置的最大跳跃长度。我们必须确定我们是否能够到达最后一个索引。因此,如果数组类似于 [2, 3, 1, 1, 4],则输出将为 true。这就像从位置 0 跳一步到 1,然后从位置 1 跳三步到最后。让我们看看步骤:n := 数组 A 的长度 – 1 for i := n ... 阅读更多

C++中的组合总和 II

Arnab Chakraborty
更新于 2020年5月4日 05:54:02

439 次浏览

假设我们有一组候选数字(所有元素都是唯一的)和一个目标数字。我们必须在候选中找到所有唯一的组合,其中候选数字之和等于给定的目标。同一个数字不会从候选中选择超过一次。因此,如果元素为 [2, 3, 6, 7, 8] 且目标值为 8,则可能的输出将为 [[2, 6], [8]]。让我们看看步骤:我们将以递归方式解决这个问题。递归函数名为 solve()。这需要索引、数组 a、整数 b 和另一个... 阅读更多

Python中的组合总和

Arnab Chakraborty
更新于 2020年5月4日 05:44:46

2K+ 次浏览

假设我们有一组候选数字(所有元素都是唯一的)和一个目标数字。我们必须在候选中找到所有唯一的组合,其中候选数字之和等于给定的目标。可以从候选中无限次选择相同的重复数字。因此,如果元素为 [2, 3, 6, 7] 且目标值为 7,则可能的输出将为 [[7], [2, 2, 3]]。让我们看看步骤:我们将以递归方式解决这个问题。递归函数名为 solve()。这需要一个数组来存储结果,一个映射到... 阅读更多

广告
© . All rights reserved.