找到 34423 篇文章 关于编程

Python程序:计算将矩阵分割成k块的方法数

Arnab Chakraborty
更新于 2020年12月3日 06:01:58

163 次浏览

假设我们有一个二进制矩阵和另一个值 k。您希望将矩阵分成 k 块,使得每一块至少包含一个 1。但是有一些切割规则需要遵循:1. 选择方向:垂直或水平 2. 选择矩阵中的索引以切割成两部分。 3. 如果垂直切割,则不能再切割左侧部分,只能继续切割右侧部分。 4. 如果水平切割,则不能再切割顶部部分,只能继续… 阅读更多

Python程序:检查删除最多k个字符后是否可以形成回文

Arnab Chakraborty
更新于 2020年12月3日 05:59:52

494 次浏览

假设我们有一个字符串 s,我们必须检查在删除最多 k 个字符后是否可以将此字符串变成回文。因此,如果输入类似于 s = "lieuvrel",k = 4,则输出将为 True,我们可以删除三个字符以获得回文 "level"。为了解决这个问题,我们将遵循以下步骤:- 定义一个函数 lcs()。这将采用 a,bm := a 的大小,n := b 的大小table := 大小为 (m + 1) x (n + 1) 的矩阵并用 0 填充对于 i 范围从 1 到 m,执行… 阅读更多

C++程序:从数字列表创建最大的字典序数字

Arnab Chakraborty
更新于 2020年12月3日 05:57:20

274 次浏览

假设我们有一个名为 nums 的数字列表,我们必须重新排列它的顺序以形成最大的可能的数字,并将其作为字符串返回。因此,如果输入类似于 nums = [20, 8, 85, 316],则输出将为 "88531620"。为了解决这个问题,我们将遵循以下步骤:- 定义一个数组 temp对于 nums 中的每个项目 i:将 i 作为字符串插入 temp根据字典顺序对数组 temp 进行排序(检查两个字符串 a、b,当 a 连接 b 大于 b 连接 a 时)- 对于 temp 中的每个字符串 s:res := res 连接 s返回 res让… 阅读更多

Python程序:查找所有城市的最大可能人口

Arnab Chakraborty
更新于 2020年12月3日 05:54:46

567 次浏览

考虑一个国家,它表示为具有 N 个节点和 N-1 条边的树。现在每个节点代表一个城镇,每条边代表一条道路。我们有两个大小为 N-1 的数字列表 source 和 dest。根据它们,第 i 条道路连接 source[i] 到 dest[i]。道路是双向的。我们还有一个名为 population 的大小为 N 的数字列表,其中 population[i] 代表第 i 个城镇的人口。我们正在尝试将一些城镇升级为城市。但是,没有两个城市应该彼此相邻,并且每个节点相邻… 阅读更多

Python程序:计算总和为k的子集个数

Arnab Chakraborty
更新于 2020年12月3日 05:53:12

390 次浏览

假设我们有一个名为 nums 的数字列表和另一个值 k,我们必须找到列表中总和为 k 的子集的数量。如果答案非常大,则将其与 10^9 + 7 取模因此,如果输入类似于 nums = [2, 3, 4, 5, 7] k = 7,则输出将为 3,因为我们可以选择子集 [2,5]、[3,4] 和 [7]。为了解决这个问题,我们将遵循以下步骤:- dp := 大小为 (k + 1) 的列表,并用 0 填充dp[0] := 1m := 10^9 + 7对于 i 范围从 0 到 nums 的大小 - 1,执行:对于 j 范围从 k 到 0,递减 1,执行:如果 nums[i]

C++程序:计算将二进制矩阵转换为零矩阵的操作次数

Arnab Chakraborty
更新于 2020年12月3日 05:52:05

98 次浏览

假设我们有一个二进制矩阵。现在考虑一个操作,我们取一个单元格并翻转它及其所有相邻单元格(上、下、左、右)。我们必须找到使矩阵仅包含 0 的所需最小操作数。如果没有解决方案,则返回 -1。因此,如果输入类似于0010,则输出将为 3。为了解决这个问题,我们将遵循以下步骤:- 定义一个大小为:4 x 2 的数组 dir := {{1, 0}, {0, 1}, {-1, 0}, {0, -1}}const int inf = 10^6定义一个函数 getPos(),这将采用 i,… 阅读更多

Python程序:检查给定点是否在给定多边形的内部或边界上

Arnab Chakraborty
更新于 2020年12月3日 05:49:15

783 次浏览

假设我们有一个笛卡尔点列表 [(x1, y1), (x2, y2), ..., (xn, yn)],它表示一个多边形,并且还有两个值 x 和 y,我们必须检查 (x, y) 是否位于此多边形的内部或边界上。因此,如果输入类似于 points = [(0, 0), (1, 3), (4, 4), (6, 2), (4, 0)] pt = (3, 1),则输出将为 True。为了解决这个问题,我们将遵循以下步骤:- ans := False对于 i 范围从 0 到多边形的大小 - 1,执行:(x0, y0) := 多边形[i](x1, y1) := 多边形[(i + 1) mod 大小… 阅读更多

Python程序:查找最长循环递增子序列的长度

Arnab Chakraborty
更新于 2020年12月3日 05:44:58

133 次浏览

假设我们有一个名为 nums 的数字列表,我们必须找到最长递增子序列的长度,并且我们假设子序列可以环绕到列表的开头。因此,如果输入类似于 nums = [6, 5, 8, 2, 3, 4],则输出将为 5,因为最长递增子序列是 [2, 3, 4, 6, 8]。为了解决这个问题,我们将遵循以下步骤:- a := 创建一个大小为 nums 两倍的列表并填充 nums 两次ans := 0对于 i 范围从 0 到 nums 的大小,执行:dp := 一个新的… 阅读更多

Python程序:检查选择矩阵空单元格的方法数

Arnab Chakraborty
更新于 2020年12月3日 05:43:06

155 次浏览

假设我们有一个 N x N 二进制矩阵,其中 0 表示空单元格,1 表示阻塞单元格,我们必须找到选择 N 个空单元格的方法数,使得每一行和每一列至少有一个选定单元格。如果答案非常大,则返回结果 mod 10^9 + 7因此,如果输入类似于000000010,则输出将为 4,因为我们有以下配置(其中 x 是选定单元格):- 为了解决这个问题,我们将遵循以下步骤:- n := 矩阵的大小定义一个函数 f()。这将采用… 阅读更多

C++程序:查找从第一个城市到达任何城市所需建造的最小道路数量

Arnab Chakraborty
更新于 2020年12月3日 05:41:15

651 次浏览

假设我们有两个相同大小的列表 costs_from 和 costs_to,其中每个索引 i 代表一个城市。它正在从城市 i 到 j 建造一条单向道路,它们的成本是 costs_from[i] + costs_to[j]。我们还有一个边列表,其中每条边都包含 [x, y],表示从城市 x 到 y 已经存在一条单向道路。如果我们想从城市 0 到达任何城市,我们必须找到建造必要道路的最小成本。因此,如果输入类似于 costs_from = [6, 2, 2, 12] costs_to = [2, 2, 3,… 阅读更多

广告
© . All rights reserved.