找到 34423 篇文章 关于编程

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

Arnab Chakraborty
更新于 2020-10-07 13:31:41

307 次浏览

假设我们有一个数字列表 A,我们需要找到所有重复的数字并删除其最后一次出现。所以,如果输入像 [10, 30, 40, 10, 30, 50],那么输出将是 [10, 30, 40, 50]为了解决这个问题,我们将遵循以下步骤:seen:=一个新的映射d:=一个新的映射对于范围 0 到 nums 大小的 i,执行以下操作:如果 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-07 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-07 13:28:37

329 次浏览

假设我们有一个字符串 s,我们需要找到其中第一个重复字符的索引。如果我们找不到任何重复字符,则返回 -1。所以,如果输入像“abcade”,那么输出将是 3,因为'a'再次出现在索引 3 处。为了解决这个问题,我们将遵循以下步骤:定义一个映射 chars对于范围 0 到 s 大小的 i,执行以下操作:如果 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-07 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-07 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-07 13:20:24

630 次浏览

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

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

Arnab Chakraborty
更新于 2020-10-07 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-07 13:13:10

241 次浏览

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

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

Arnab Chakraborty
更新于 2020-10-07 13:09:22

410 次浏览

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

Python 程序计算使用字符串字符可以创建的唯一回文数

Arnab Chakraborty
更新于 2020-10-07 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.