技术文章库 - 编程教程与技术分享平台
用 Python 编写程序检查给定图是否为二分图
假设我们有一个无向图,我们必须检查该图是否为二分图。我们知道,当我们可以将图的节点分成两个集合A和B时,图是二分图,这样图中的每个边{u,v}在A中都有一个节点u,在B中有一个节点v。因此,如果输入如下则输出将为True,[0,4]在集合A中,[1,2,3]在集合B中,并且所有边都是从A到B或B到A,而不是从A到A或B到B。为了解决
用 Python 编写程序来查找二叉树的最大宽度
假设我们有一棵二叉树,我们必须找到树中任意一层的最大宽度。这里,级别的宽度是指最左边节点和最右边节点之间可以容纳的节点数。因此,如果输入如下则输出为2为了解决这个问题,我们将遵循以下步骤−创建一个映射d,以保存最小值和最大值,最小值最初为无穷大,最大值为0定义一个函数dfs()。这将使root、pos:=0、depth:=0如果root为空,则o返回d[dep
用 Python 编写程序,找出一行中可能的位置数量
假设我们有数字n、p和q。现在假设我们站在n个人的队伍中。我们不知道自己处于哪个位置,但我们知道前面至少有p个人,后面最多有q个人。我们必须找出我们可能处于的位置数量。因此,如果输入为n=10、p=3、q=4,则输出将为5,因为有10个人,前面至少有3个人,后面最多有4个人。因此我们可以站在索引[0,1,2,3,4]。例如,在索引0处,前
用 Python 编写一个程序,将所有元音按排序顺序排列,然后按排序顺序排列辅音
假设我们有一个小写字母字符串s,我们必须找到一个字符串,其中s的所有元音按排序顺序排列,后面跟着s的所有辅音按排序顺序排列。因此,如果输入是"helloworld",则输出将是"eoodhlllrw",因为元音是"eo"并且辅音按排序顺序排列"dhlllrw"为了解决这个问题,我们将遵循以下步骤−k:=空字符串,t:=空字符串对于s中的每个
使用 Python 中的 Vigenere 密码加密字符串的程序
假设我们有一个小写字母字符串text,还有另一个名为key的字符串。我们必须找到一个新字符串,其中text[i]中的每个字母都移动到右侧,偏移量为key[i]。这里偏移量表示key[i]在字母表中的位置(A=0、B=1等)。如果字母溢出,它会被包裹在另一侧。因此,如果输入为text="code",key="team",则输出为
使用 Python 中的垂直密码加密字符串的程序
假设我们有一个字符串s和一个数字n,我们必须将s重新排列成n行,以便可以垂直选择s(从上到下,从左到右)。因此,如果输入类似s="ilovepythonprogramming"n=5,则输出将是['ipnrn','lypag','otrm','vhom','eogi
用 Python 编写程序来查找已解析的 Unix 样式路径
假设我们有一个Unix路径,在字符串列表中,我们必须找到其已解析的版本。正如我们在Unix中所知,".."表示上一个目录,"."表示停留在当前目录。此处解析表示对两个符号进行评估,以便我们获得当前所在的最终目录。因此,如果输入类似于path=["usr","..","usr",".","
用 Python 编写程序,查找排序列表中唯一整数的数量
假设我们有一个名为nums的排序数字列表,我们必须找到列表中唯一元素的数量。因此,如果输入为nums=[3,3,3,4,5,7,7],则输出为4,因为唯一数字为[3,4,5,7]要解决这个问题,我们将遵循以下步骤−s:=一个新集合cnt:=0对于nums中的每个i,执行如果i不在s中,则将i插入scnt:=cnt+1返回
用 Python 编写程序,找出我们可以制作的字符串数量,其中"a"可以是"a"或"b",而"b"仍然是"b"
假设我们有一个字符串s,其中只有"a"和"b"。"a"可以保持为"a"或变成"b",但"b"不能改变。我们必须找出我们可以制作的唯一字符串的数量。因此,如果输入为s="baab",则输出将为4,因为我们可以将这些字符串减去["baab","babb","bbab","bbbb"]为了解决这个问题,我们将
用 Python 编写程序检查某个数字是否为丑数
假设我们有一个数字n,我们必须检查它的素因数是否只包括2、3或5。因此,如果输入为n=18,则输出将为True,因为18的素因数是2和3。为了解决这个问题,我们将遵循以下步骤−ifn<0,则返回Falsefactor:=一个包含元素[2,3,5]的列表对于factor中的每个i,执行当nmodi等于0时,执行n:=
使用 Python 中的星号创建一个三角形楼梯的程序
假设我们有一个数字n,我们必须找到一个有n个台阶的楼梯串。这里字符串中的每一行都由换行符分隔。因此,如果输入为n=5,则输出将是***************为了解决这个问题,我们将遵循以下步骤−s:=空字符串对于范围为0到n-1的i,执行s:=s连接(n-i-1)个空格连接(i+1)个星
用 Python 编写程序来查找给定矩阵的转置
假设我们有一个(nxn)矩阵M,我们必须找到它的转置。众所周知,矩阵的转置会切换行和列索引。更正式地说,对于每个r和c,matrix[r][c]=matrix[c][r]。因此,如果输入如下726372537则输出将是735273627为了解决这个问题,我们将遵循以下步骤−M:=一个新列表tracker:=0whiletracker<矩阵的行数,
用 Python 编写程序检查给定矩阵是否为 Toeplitz 矩阵
假设我们有一个矩阵M,我们必须检查它是否是Toeplitz矩阵。我们知道,当从左到右下降的每条对角线都具有相同的值时,该矩阵被称为Toeplitz矩阵。因此,如果输入如下726372537则输出将为True。为了解决这个问题,我们将遵循以下步骤−对于除最后一行之外的每一行i,执行对于除最后一列之外的每一列,执行如果matrix[i,j]不等于矩阵[i+1,j+1]
在 Python 中,当所有元素都是唯一时,用程序找出三个元素的乘积
假设我们有三个数字,x、y和z,我们必须找到它们的乘积,但如果任何两个数字相等,它们就不算数。因此,如果输入是x=5、y=4、z=2,则输出将是40,因为所有三个数字都是不同的,所以它们的乘积是5*4*2=40为了解决这个问题,我们将遵循以下步骤−temp_set:=一个新集合remove:=一个新集合对于[x,y,z]中的每个i,执行
在 Python 中通过输入和退格来查找编辑器中的最终文本的程序
假设我们有一个字符串s,它表示在编辑器中输入的字符,符号"<-<"表示退格,我们必须找到编辑器的当前状态。因此,如果输入类似于s="ilovepython<-<-ON",则输出将是"ilovepythON",因为"ilovepython"后面有两个退格字符它将删除最后两个字符,然后再次输入"ON"。为
在 Python 中,可以使用给定的条件完成查找任务数量的程序
假设我们有一个任务列表和另一个人员列表。tasks[i]确定执行第i个任务所需的力量。people[i]确定第i个人的力量。最后,我们必须找出如果一个人最多可以执行一项任务,那么可以完成的任务数。因此,如果输入为任务=[4,3,9,15],人员=[10,5,3,2],则输出将为3,因为第一个人可以执行任务9,第二个人可以执行任务4,第三个人可以执行任务3,第
用 Python 编写程序,查找将一个数字转换为另一个数字所需的最少操作数
假设我们有一个数字start和另一个数字end(start<end),我们必须使用这些操作找到将start转换为end所需的最少操作数−增加1乘以2因此,如果输入为start=5,end=11,则输出将为2,因为我们可以乘以2得到10,然后加1得到11。要解决这个问题,我们将遵循以下步骤−ct:=0当end/2
用 Python 检查字符串是否为回文的程序
假设我们有一个字符串s;我们必须检查它是否是回文。我们知道,回文是指单词正向和反向相同的情况。因此,如果输入为s="racecar",则输出将为True要解决这个问题,我们将遵循以下步骤−t:=reverseofs如果t与s相同,则返回True否则,返回False让我们看看下面的实现以便更好地理解−示例classSol
用 Python 编写程序,在列表中查找总和为 k 的任意两个数字
假设我们有一个名为nums的数字列表,还有另一个数字k,我们必须检查列表中存在的任意两个数字的总和是否为k。相同的元素不得重复使用。数字可以是负数或0。因此,如果输入为nums=[45,18,9,13,12],k=31,则输出将为True,因为18+13=31为了解决这个问题,我们将遵循以下步骤−temp_set:=anewset对于
用 Python 编写程序,求出给定数字所有数字之和
假设我们有一个数字num,我们必须求出它的数字之和。我们必须在不使用字符串的情况下解决它。因此,如果输入为num=512,则输出为8,因为8=5+1+2。输入为8,因为8=5+1+2。为了解决这个问题,我们将遵循以下步骤−sum:=0当num不等于0时,请执行sum:=sum+(nummod10)num:=num/10

