找到关于编程的34423 篇文章

Python程序:查找字符串列表中最长的公共前缀

Arnab Chakraborty
更新于 2020年10月6日 06:21:16

2K+ 次浏览

假设我们有一个小写字符串列表,我们需要找到最长的公共前缀。例如,如果输入是 ["antivirus", "anticlockwise", "antigravity"],则输出将是 "anti"。为了解决这个问题,我们将遵循以下步骤:对字符串列表按字母顺序排序;prefix := 新列表;flag := 0;for i in range(0, len(words[0])): for j in words: if j[i] != prefix[-1]: prefix.pop() flag = 1 break if flag == 1: break; 返回连接 prefix 中所有元素后的字符串…… 阅读更多

Python程序:用左侧最小的项替换每个元素

Arnab Chakraborty
更新于 2020年10月6日 06:19:25

183 次浏览

假设我们有一个名为 nums 的数字列表,我们需要将每个 nums[i] 替换为 i 左侧最小的元素。我们需要将 nums[0] 替换为 0。例如,如果输入是 [15, 7, 9, 16, 12, 25],则输出将是 [0, 15, 7, 7, 7, 7]。为了解决这个问题,我们将遵循以下步骤:如果 nums 为空,则返回一个新列表;j:= nums[0];nums[0]:= 0;for i in range(1, len(nums)): k:= nums[i]; nums[i]:= j; j:= min(j, k); 返回 nums。让我们来看下面的实现以更好地理解…… 阅读更多

Python程序:通过执行给定操作使所有元素相等

Arnab Chakraborty
更新于 2020年10月6日 06:17:37

450 次浏览

假设我们给定一个名为 nums 的数字列表,我们想使这些值相等。现在进行一个操作,我们从列表中选择一个元素并增加其他每个值。我们需要找到使元素值相等所需的最小操作次数。例如,如果输入是 [2, 4, 5],则输出将是 5。为了解决这个问题,我们将遵循以下步骤:min_val := min(nums); s := 0; for num in nums: s += (num - min_val); 返回 s。让我们来看下面的实现以更好地理解…… 阅读更多

Python程序:对列表的每个元素和给定值执行给定操作

Arnab Chakraborty
更新于 2020年10月6日 06:16:14

299 次浏览

假设我们有一个名为 nums 的数字列表,我们还有一个表示运算符(例如 "+", "-", "/", 或 "*")的字符串 op,还有一个给定的值 val,我们需要对 nums 中的每个数字与 val 执行操作并返回结果。例如,如果输入是 [5, 3, 8],则输出将是 [15, 9, 24]。为了解决这个问题,我们将遵循以下步骤:res:= 新列表;for i in nums: if op == '+': res.append(i + val); elif op == '-': res.append(i - val);…… 阅读更多

Python程序:将表示二进制数的链表转换为十进制整数

Arnab Chakraborty
更新于 2020年10月6日 06:14:23

1K+ 次浏览

假设我们有一个单链表。该链表表示一个二进制数,最高有效位在最前面,我们需要将其返回为十进制数。例如,如果输入是 [1, 0, 1, 1, 0],则输出将是 22。为了解决这个问题,我们将遵循以下步骤:l := 新列表;while node is not null: l.append(node.val); node = node.next; k := 0, v:= 0; for i in range(len(l) - 1, -1, -1): if l[i] == 1: v += 2**k; k += 1;…… 阅读更多

Python程序:删除链表中所有值为相同的值的节点

Arnab Chakraborty
更新于 2020年10月6日 06:08:18

350 次浏览

假设我们有一个单链表和一个目标值,我们需要在删除所有值为目标值相同的节点后返回相同的链表。例如,如果输入是 [5, 8, 2, 6, 5, 2, 9, 6, 2, 4],则输出将是 [5, 8, 6, 5, 9, 6, 4]。为了解决这个问题,我们将遵循以下步骤:head := node; while node and node.next: while node.next.val == target: node.next = node.next.next; node = node.next; if head.val == target:…… 阅读更多

Python程序:查找只有一个交换的字典序最小的字符串

Arnab Chakraborty
更新于 2020年10月6日 06:06:36

3K+ 次浏览

假设我们有一个字符串 s,我们需要找到如果我们最多可以在给定字符串 s 中的两个字符之间进行一次交换,则可以生成的字典序最小的字符串。例如,如果输入是 "zyzx",则输出将是 "xyzz"。为了解决这个问题,我们将遵循以下步骤:temp := 一个大小为 s 的数组并填充 0;m:= len(s) - 1;for i in range(len(s) - 1, -1, -1): if s[i] < s[m]: m = i; temp[i] = m; for i in range(0, len(s)): a :=…… 阅读更多

Python程序:检查二叉树是否是 BST

Arnab Chakraborty
更新于 2020年10月6日 05:59:22

563 次浏览

假设我们有二叉树;我们需要检查它是否是二叉搜索树。众所周知,BST 具有以下属性:其左子树上的所有节点都小于当前节点值;其右子树上的所有节点都大于当前节点值;这些属性对于所有节点都递归成立。例如,如果输入是……则输出将是 True。为了解决这个问题,我们将遵循以下步骤:x := 树元素的中序遍历序列列表;如果 x 已排序,则返回 true;返回 false。让我们来看下面的实现以更好地理解…… 阅读更多

Python程序:从 BST 中删除不在范围内的所有节点

Arnab Chakraborty
更新于 2020年10月6日 05:56:14

139 次浏览

假设我们有一个 BST 和两个值 low 和 high,我们需要删除不在 [low, high](包括)范围内的所有节点。例如,如果输入是 low = 7 high = 10,则输出将是……为了解决这个问题,我们将遵循以下步骤:定义一个函数 solve()。这将采用 root、low、high;如果 root 为 null,则返回;如果 low > root 的数据,则返回 solve(root 的 right,low,high);如果 high < root 的数据,则返回 solve(root 的 left,low,high);root 的 right := solve(root 的 right,low,high);root 的 left := solve(root 的 left,low,high);返回 root。…… 阅读更多

Python程序:检查不同的括号是否平衡且格式正确

Arnab Chakraborty
更新于 2020年10月6日 05:53:03

240 次浏览

假设我们有一串括号(圆括号、花括号和方括号),我们需要检查这些括号是否平衡(格式正确)。因此,如果输入类似于 s = "([()()]{[]})()",则输出为 True。为了解决这个问题,我们将遵循以下步骤:

广告
© . All rights reserved.