找到 10786 篇文章 关于 Python

Python程序:查找 Python 中空座和已占用座位之间的最大距离

Arnab Chakraborty
更新于 2021年10月12日 11:03:21

426 次浏览

假设我们有一个列表 seats,其中只包含 0 和 1,seats[i] 代表一个座位。当它为 1 时,表示已占用,否则为空闲。至少有一个空座和至少一个已占用座位,我们需要找到空座到最近已占用座位的最大距离。因此,如果输入类似 seats = [1, 0, 1, 0, 0, 0, 1],则输出为 2,因为我们可以占用 seats[4] 座位,则距离为 2。为了解决这个问题,我们将遵循以下步骤:res := 0 last := -1 n := 列表大小…阅读更多

Python程序:计算具有 n 个节点的 BST 的数量

Arnab Chakraborty
更新于 2021年10月12日 09:46:13

246 次浏览

假设我们有 n 个不同的节点。所有节点都是不同的。我们需要找到有多少种方法可以将它们排列成二叉搜索树。众所周知,对于二叉搜索树,左子树始终保存较小的值,而右子树保存较大的值。为了解决这个问题,我们将找到 Catalan 数。Catalan 数 C(n) 代表具有 n 个不同键的二叉搜索树。公式如下:$$C(n)=\frac{(2n)!}{(n+1)!\times n!}$$因此,如果输入类似 n = 3,则输出为 5,因为为了解决这个问题,我们将遵循以下步骤:定义一个函数 ncr()…阅读更多

Python程序:过滤数组中所有大于 x 的值

Arnab Chakraborty
更新于 2021年10月12日 09:38:55

573 次浏览

假设我们有一个数字列表 nums。我们还有一个数字 x。我们需要通过过滤找到 nums 中所有小于 x 的数字。在 Python 中,有一个 filter() 方法,它接受函数作为参数并使用此函数进行过滤。因此,如果输入类似 nums = [1, 5, 8, 3, 6, 9, 12, 77, 55, 36, 2, 5, 6, 12, 87] x = 50,则输出为 [1, 5, 8, 3, 6, 9, 12, 36, 2, 5, 6, 12]。为了解决这个问题,我们将遵循以下步骤:定义一个…阅读更多

Python程序:检查点是否形成凹多边形

Arnab Chakraborty
更新于 2021年10月12日 09:40:56

686 次浏览

假设我们按顺时针顺序得到了多边形的外部点。我们需要检查这些点是否形成凸多边形。如果它的任何一个内角大于 180°,则该多边形被称为凹多边形。从该图可以清楚地看出,对于每三个连续点,内角不大于 180°,除了 CDE。因此,如果输入类似 points = [(3, 4), (4, 7), (7, 8), (8, 4), (12, 3), (10, 1), (5, 2)],则输出为 True。为了解决这个问题,我们将遵循以下步骤:n := 大小…阅读更多

Python程序:通过将每个元素复制 n 次来复制列表

Arnab Chakraborty
更新于 2021年10月12日 09:36:55

461 次浏览

假设我们有一个包含 n 个元素的列表;我们需要将列表中的每个元素重复 n 次。因此,如果输入类似 nums = [1,5,8,3],则输出为 [1, 1, 1, 1, 5, 5, 5, 5, 8, 8, 8, 8, 3, 3, 3, 3]。为了解决这个问题,我们将遵循以下步骤:n := nums 的大小 ret := 一个新列表 对于 nums 中的每个 num,执行 ret := ret 连接一个包含 n 个 num 的列表 返回 ret 示例让我们看下面的实现来更好地理解 def solve(nums): n = len(nums) ret = [] for num in nums: ret += [num]*n return ret nums = [1,5,8,3] print(solve(nums)) 输入 [1,5,8,3] 输出 [1, 1, 1, 1, 5, 5, 5, 5, 8, 8, 8, 8, 3, 3, 3, 3]

Python程序:查找数字的超级数字

Arnab Chakraborty
更新于 2021年10月12日 09:36:13

2K+ 次浏览

假设我们有一个数字 n。我们需要找到这个数字的超级数字。一位数的超级数字就是数字本身,但对于多位数,超级数字是所有数字的和,反复相加直到和变成一位数。因此,如果输入类似 n = 513682,则输出为 7,因为 (5+1+3+6+8+2) = 25,(2 + 5) = 7。为了解决这个问题,我们将遵循以下步骤:s := 0 当 n > 0 或 s > 9 时,执行 如果 n 等于 0,则 n := s s := 0 s…阅读更多

Python程序:计算两组数字的公约数个数

Arnab Chakraborty
更新于 2021年10月12日 09:33:33

43 次浏览

假设我们有两个数组,称为 nums1 和 nums2。我们需要找到满足以下条件的值的个数:nums1 中的元素是被选中元素的因子被选中的元素是 nums2 中所有元素的因子因此,如果输入类似 nums1 = [3, 9] nums2 = [27, 81],则输出为 2,因为这些数字是 9 和 27,因为 9 mod 3 = 0 9 mod 9 = 0 27 mod 9 = 0 81 mod 9 = 0 27 mod 3 = 0 27 mod 9 =…阅读更多

Python程序:检查点是否形成凸包

Arnab Chakraborty
更新于 2021年10月12日 09:30:12

695 次浏览

假设我们按顺时针顺序得到了多边形的外部点。我们需要检查这些点是否形成凸包。从该图可以清楚地看出,对于每三个连续点,内角不大于 180°。因此,如果所有角度都不大于 180°,则该多边形是凸包。因此,如果输入类似 points = [(3, 4), (4, 7), (7, 8), (11, 6), (12, 3), (10, 1), (5, 2)],则输出为 True。为了解决这个问题,我们将遵循以下步骤:n := points 的大小 对于 i in range…阅读更多

Python程序:通过向右旋转 k 次来查找第 i 个元素

Arnab Chakraborty
更新于 2021年10月12日 09:17:26

112 次浏览

假设我们有一个数组 nums、一个值 k 和另一个值 i。我们需要在将 nums 的元素向右旋转 k 次后找到索引 i 处的元素。因此,如果输入类似 nums = [2, 7, 9, 8, 10] k = 3 i = 2,则输出为 10,因为在第 3 次旋转后数组将变为 [9, 8, 10, 2, 7],因此现在的第 i 个元素将是 nums[2] = 10。为了解决这个问题,我们将遵循以下步骤:对于 r in range 0 到 k,执行 从 nums 中删除最后一个元素…阅读更多

Python程序:计算两个数字的公约数个数

Arnab Chakraborty
更新于 2021年10月12日 14:04:06

563 次浏览

假设我们有两个数字 a 和 b。我们需要找到有多少个正整数是 a 和 b 的约数。因此,如果输入类似 a = 288 b = 240,则输出为 10,因为公约数为 [1, 2, 3, 4, 6, 8, 12, 16, 24, 48]。为了解决这个问题,我们将遵循以下步骤:res := 0 对于 i in range 1 到 gcd(a, b) + 1,执行 如果 (a mod i) 为 0 且 (b mod i) 为 0,则 res := res + 1 返回 res 示例让我们看下面的实现…阅读更多

广告
© . All rights reserved.