找到 34423 篇文章 关于编程

Python 程序:查找重复元素并删除其最后一次出现

Arnab Chakraborty
更新于 2020年10月7日 13:31:41

307 次浏览

假设我们有一个数字列表 A,我们需要找到所有重复的数字并删除其最后一次出现。所以,如果输入类似 [10, 30, 40, 10, 30, 50],那么输出将是 [10, 30, 40, 50]为了解决这个问题,我们将遵循以下步骤:seen:= 一个新的映射d:= 一个新的映射对于 i 的范围从 0 到 nums 的大小,执行以下操作:如果 nums[i] 不在 d 中,则d[nums[i]]:= 1否则,d[nums[i]] := d[nums[i]] + 1i:= 0当 i < nums 的大小时,执行以下操作:n:= d[nums[i]]如果 nums[i] 不在 seen 中,则seen[nums[i]]:= 1否则,seen[nums[i]] := seen[nums[i]] + 1如果 n 等于 seen[nums[i]] ... 阅读更多

Python 程序:使用递归索引计算元素集中存在的元素数量

Arnab Chakraborty
更新于 2020年10月7日 13:29:51

181 次浏览

假设我们有一个名为 A 的数字列表和另一个数字 k,我们需要创建一个可能的元素的新集合 {A[k], A[A[k]], A[A[A[k]]], ... },在超出索引之前停止。我们需要找到此集合的大小,否则在存在循环时返回 -1。所以,如果输入类似 A = [1, 2, 3, 4, 5, 6, 7],k = 1,那么输出将是 6,因为 A[1] = 2,A[2] = 3,A[3] = 4,A[4] = 5,A[5] = 6,A[6] = 7,所以集合是 {2, 3, 4, 5, ... 阅读更多

Python 程序:查找给定字符串中第一个重复字符的索引

Arnab Chakraborty
更新于 2020年10月7日 13:28:37

329 次浏览

假设我们有一个字符串 s,我们需要找到其中第一个重复字符的索引。如果我们找不到任何重复字符,则返回 -1。所以,如果输入类似 "abcade",那么输出将是 3,因为 'a' 再次出现在索引 3 处。为了解决这个问题,我们将遵循以下步骤:定义一个映射 chars对于 i 的范围从 0 到 s 的大小,执行以下操作:如果 s[i] 在 chars 中,则返回 i否则,chars[s[i]] := chars[s[i]] + 1返回 -1让我们看看以下实现以更好地理解:示例实时演示from collections import defaultdict class Solution:    def solve(self, s): ... 阅读更多

Python 程序:检查两个矩形是否重叠

Arnab Chakraborty
更新于 2020年10月7日 13:26:20

3K+ 次浏览

假设我们有一个矩形,它表示为一个包含四个元素的列表 [x1, y1, x2, y2],其中 (x1, y1) 是其左下角的坐标,(x2, y2) 是其右上角的坐标。当它们的交集面积为正时,两个矩形重叠。所以,仅在角或边处接触的两个矩形不会重叠。所以,如果输入类似 R1 = [0,0,2,2],R2 = [1,1,3,3],那么输出将是 True。为了解决这个问题,我们将遵循以下步骤:如果 R1[0]>=R2[2] 或 R1[2]=R2[2]) 或 (R1[2]

Python 程序:检查给定列表中是否存在勾股数

Arnab Chakraborty
更新于 2020年10月7日 13:24:11

1K+ 次浏览

假设我们有一个名为 nums 的数字列表,我们需要检查是否存在三个数字 a、b 和 c,使得 a^2 + b^2 = c^2。所以,如果输入类似 [10, 2, 8, 5, 6],那么输出将是 True,因为 8^2 + 6^2 = 64+36 = 100 = 10^2。为了解决这个问题,我们将遵循以下步骤:tmp:= nums 中所有数字的平方构成的降序列表对于 tmp 中的每个索引 i 和相应的数字 n,执行以下操作:base:= nleft:= i+1, right:= tmp 的大小 -1当 left base,则left:= ... 阅读更多

Python 程序:查找给定数字的所有质因数(按排序顺序)

Arnab Chakraborty
更新于 2020年10月7日 13:20:24

630 次浏览

假设我们有一个大于 1 的数字 n,我们需要找到它的所有质因数,并按排序顺序返回它们。我们可以将一个数字写成质数的乘积,它们是它的质因数。并且相同的质因数可能会出现多次。所以,如果输入类似 42,那么输出将是 [2, 3, 7]。为了解决这个问题,我们将遵循以下步骤:res:= 一个新的列表当 n mod 2 等于 0 时,执行以下操作:在 res 的末尾插入 2n := n/2 的商对于 i 的范围从 3 到 (平方 ... 阅读更多

Python 程序:查找使列表元素相等所需的最小总成本

Arnab Chakraborty
更新于 2020年10月7日 13:15:20

224 次浏览

假设我们有两个名为 nums 和 costs 的数字列表。现在考虑,有一个操作可以增加或减少 nums[i],成本为 costs[i]。我们可以执行任意数量的这些操作,并且我们希望使 nums 中的所有元素相等。我们需要找到所需的最小总成本。所以,如果输入类似 nums = [3, 2, 4] costs = [1, 10, 2],那么输出将是 5,因为如果我们可以将数字 3 减小到 2,成本为 1。然后我们可以将 4 减小两次,成本为 ... 阅读更多

Python 程序:查找通过用其左右子树和自身更新值来构建的树

Arnab Chakraborty
更新于 2020年10月7日 13:13:10

241 次浏览

假设我们有一棵二叉树,我们需要找到同一棵树,但每个节点的值都被替换为其值 + 其左右子树的所有和。所以,如果输入类似那么输出将是 为了解决这个问题,我们将遵循以下步骤:定义一个函数 tree_sum() 。它将接收树的根节点如果根节点为空,则返回 0根节点的数据 := tree_sum(根节点的左子树) + tree_sum(根节点的右子树) + 根节点的数据返回根节点的数据从主方法中,执行以下操作:tree_sum(根节点)返回根节点让我们看看以下实现以更好地理解 ... 阅读更多

C++ 程序:查找两个字符串之间的最小编辑距离

Arnab Chakraborty
更新于 2020年10月7日 13:09:22

410 次浏览

假设我们有两个单词 S 和 T,我们需要找到将 S 转换为 T 所需的最少操作次数。操作可以是三种类型,分别是插入一个字符、删除一个字符、替换一个字符。所以如果输入字符串是“evaluate”和“fluctuate”,那么结果将是 5。为了解决这个问题,我们将遵循以下步骤:n := s 的大小,m := t 的大小,创建一个大小为 n + 1 的数组 dp对于 i 的范围从 0 到 n,执行以下操作:dp[i] := 一个大小为 m + 1 的新数组对于 j 的范围从 0 到 m,执行以下操作:dp[i, ... 阅读更多

Python程序:使用字符串字符生成唯一回文串的数量

Arnab Chakraborty
更新于 2020年10月7日 12:49:28

浏览量:207

假设我们有一个字符串 s,我们需要找到使用所有字符可以生成的唯一回文串的数量。如果答案非常大,则将结果模 10^9 + 7。因此,如果输入类似于 s = "xyzzy",则输出将为 2,因为我们可以生成 "zyxyz" 和 "yzxzy"。要解决此问题,我们将遵循以下步骤 -m = 10^9+7char_freq := 一个映射,保存 s 中每个字符及其频率odd := 0对于 char_freq 中的每个字符 k 和频率 v,执行以下操作:如果 v 模 2 等于 1,则odd := odd + 1如果 odd > ... 阅读更多

广告

© . All rights reserved.