技术文章库 - 编程教程与技术分享平台
用 Python 编写程序,查找两个不同元素的最大乘积
假设我们有一个数字列表,我们必须找到两个不同元素的最大乘积。因此,如果输入为[5,3,7,4],则输出为35要解决这个问题,我们将遵循以下步骤−curr_max:=-inf对于i,范围为0到nums的大小-1,执行对于j,范围为i+1到nums的大小-1,执行如果nums[i]*nums[j]>curr_max,则curr_m
用 Python 编写程序,计算用给定的字符串字符可以找到"pizza"的次数
假设我们有一个小写字符串s,我们必须找出使用s中存在的字符可以制作多少个"pizza"字符串。我们可以按任何顺序使用s中的字符,但每个字符只能使用一次。因此,如果输入类似于"ihzapezlzzilaop",则输出将为2。为了解决这个问题,我们将遵循以下步骤−p_freq:=s中"p"的频率i_freq:=s中"i"的频率z_freq:=s中"z"的频率
用 Python 编写程序通过交换字符使两个字符串长度相等
假设我们有两个长度为n的字符串s和t。我们可以从s中取出一个字符,从t中取出另一个字符并交换它们。我们可以进行无限次交换;我们必须检查是否有可能使两个字符串相等。因此,如果输入为s="xy",t="yx",则输出将为True要解决这个问题,我们将遵循以下步骤−st:=在连接s和t后对字符串进行排序对于
用 Python 编写程序查找具有连续公共字符的子字符串的长度
假设我们有一个字符串s,我们必须找到具有相同字符的最长子字符串的长度。因此,如果输入为"abbbaccabbbba",则输出将为4,因为有四个连续的b。要解决这个问题,我们将遵循以下步骤−如果s的大小为0,则返回0s:=s连接空格ct:=1,tem:=1对于i在0到s的大小-2范围内,执行如果s[i]与s[i+1],则tem:=tem
用 Python 编写的程序,从字符串列表中查找最长公共前缀
假设我们有一个小写字符串列表,我们必须找到最长的公共前缀。因此,如果输入为["antivirus","anticlock","antigravity"],则输出为"anti"要解决这个问题,我们将遵循以下步骤−按字母顺序对列表单词进行排序前缀:=新列表标志:=0对于范围为0到word
用 Python 中左侧最小项替换每个元素的程序
假设我们有一个名为nums的数字列表,我们必须用i左侧最小的元素替换每个nums[i]。我们必须将nums[0]替换为0。因此,如果输入为[15,7,9,16,12,25],则输出将为[0,15,7,7,7,7]要解决这个问题,我们将遵循以下步骤−如果nums为空,则返回一个新列表j:=nums[0]nums[0]:=0对于i,范围从
在 Python 中通过执行给定操作使所有元素相等的程序
假设我们给出了一个名为nums的数字列表,我们想使这些值相等。现在进行一个操作,从列表中选择一个元素并增加每个其他值。我们必须找到使元素值相等所需的最少操作数。因此,如果输入为[2,4,5],则输出将为5。为了解决这个问题,我们将遵循以下步骤−min_val:=nums的最小值s:=0对于nums中的每个数字,执行s:=s+(num-min_va
使用 Python 对列表的每个元素和给定值执行给定操作的程序
假设我们有一个名为nums的数字列表,我们还有另一个字符串操作表示运算符,如"+"、"-"、"/"或"*",并且还给出了另一个值val,我们必须对nums中的每个数字执行操作并返回结果。因此,如果输入为[5,3,8],则输出将为[15,9,24]为了解决这个问题,我们将遵循以下步骤−res:=anewlist对于nums中的每个i,执行如果op与&
用 Python 将表示二进制数的链表转换为十进制整数的程序
假设我们有一个单链表。链接列表表示一个二进制数,其中最高有效位在前,我们必须将其返回为十进制数。因此,如果输入为[1,0,1,1,0],则输出为22要解决这个问题,我们将遵循以下步骤−l:=anewlist当节点不为空时,执行在l的末尾插入节点的值节点:=下一个节点k:=0,v:=0对于i在l-1到0的范围内,减少1,执行如果l[i]与
用 Python 编写的程序,删除链表中所有值相同的节点
假设我们有一个单链表和一个目标,在删除所有值与目标相同的节点后,我们必须返回相同的链接。因此,如果输入为[5,8,2,6,5,2,9,6,2,4],则输出为[5,8,6,5,9,6,4,]为了解决这个问题,我们将遵循以下步骤−head:=node当node和node.next不为空时,执行当节点的下一个值与目标相同时,执行节点的下一个:=下一个的下一
用 Python 编写程序,通过一次交换找到字典顺序最小的字符串
假设我们有一个字符串s,我们必须找到字典顺序最小的字符串,如果我们可以在给定字符串s中的两个字符之间进行最多一次交换。因此,如果输入是"zyzx",则输出将是"xyzz"为了解决这个问题,我们将遵循以下步骤−temp:=大小为s的数组并用0填充m:=s的大小-1对于i,在s的大小范围-1到-1内,减少1,执行如果s[i]<s[m]
用 Python 编写程序检查二叉树是否为 BST
假设我们有二叉树;我们必须检查它是否是二叉搜索树。我们知道BST具有以下属性−其左子树上的所有节点都小于当前节点值其右子树上的所有节点都大于当前节点值这些属性对所有节点递归适用因此,如果输入如下则输出为True为了解决这个问题,我们将遵循以下步骤−x:=树元素的中序遍历序列列表如果x已排序,则返回True返回False让我们看看下面的实现以便更好地理解
用 Python 编写程序从 BST 中删除不在范围内的所有节点
假设我们有一个BST,有两个值,低和高,我们必须删除所有不在[低,高](含)之间的节点。因此,如果输入如下low=7high=10,则输出将是为了解决这个问题,我们将遵循以下步骤−定义一个函数solve()。这将获取root,low,high如果root为空,则返回如果low>根的数据,则返回solve(根的右侧,低,高)如果高<根的数据,则返回s
用 Python 编写程序检查不同括号是否平衡且格式正确
假设我们有一串括号(圆括号、花括号和方括号),我们必须检查这些括号是否平衡(格式正确)。因此,如果输入为s="([()()]{[]})()",则输出为True要解决这个问题,我们将遵循以下步骤−stack:=一个新列表d:=一个带有键值对('}','{'),(')','('),(
用 Python 检查括号是否匹配的程序
假设我们有一个由括号"("和")"组成的字符串s。我们必须检查括号是否匹配。因此,如果输入为s="(()())(())",则输出为True要解决这个问题,我们将遵循以下步骤−num_open:=0对于s中的每个字符c,执行如果c与')'相同,则如果num_open<0,则num_open:=num_open-1否
用 Python 编写程序,计算可以用 0 到 n 个值形成的唯一二叉搜索树的数量
假设我们有一个数字n,我们必须找到可以用[0,n)中的数字生成的唯一BST的数量。如果答案非常大,则将结果取10^9+7的模因此,如果输入为n=3,则输出将为5为了解决这个问题,我们将遵循以下步骤−numer:=1denom:=n+1对于范围从1到n的i,执行numer:=numer*n+inumer:=numermod
用 Python 编写程序来查找唯一数组的连续间隔
假设我们有一个名为nums的唯一数字列表。我们必须找到一个排序的二维数字矩阵,其中每个列表代表一个包含区间的总结数字,这些数字在nums中是连续的。因此,如果输入为nums=[10,11,12,15,16,17,28,30],则输出将是[[10,12],[15,17],[28,28],[30,30]],因为列表中[10到12]、[15到17]
用 Python 检查字符串是否包含连续降序字符串的程序
假设我们有一个包含一些数字的字符串s,我们必须检查它是否包含连续降序的整数。因此,如果输入为s="99989796",则输出将为True,因为此字符串包含[99,98,97,96]为了解决这个问题,我们将遵循以下步骤−定义一个函数helper()。这将采用pos、prev_num如果pos与n相同,则返回Truenum_digits:=
用 Python 编写程序检查我们能否从任意城市访问任意城市
假设我们有n个城市,用[0,n)范围内的数字表示,并且我们还有一个连接一个城市到另一个城市的单行道列表。我们必须检查我们是否可以从任意城市到达任意城市。因此,如果输入为n=3,道路=[[0,1],[0,2],[1,0],[1,2],[2,0],[2,1]],则输出将为True,因为您可以从0到1和从1到0为了解决这个问题,我们将遵循以下步骤−定义
用 Python 编写程序检查二叉树是否完整
假设我们有一棵二叉树;我们必须检查这是否是一棵完整二叉树。我们知道,在完全二叉树中,除了最后一个节点外,其他层都充满了节点,最后一层的所有节点都尽可能地靠左。因此,如果输入如下则输出将为True要解决这个问题,我们将遵循以下步骤−q:=双端队列在q末尾插入根flag:=False当q不为空时,执行从q左侧删除后,temp:=元素如果temp为空,则flag

