技术文章库 - 编程教程与技术分享平台


可以用 Python 中的砖块集来编写程序来计算水平砖块图案的数量

假设我们有一个称为砖块的数字列表,以及另外两个值宽度和高度。bricks[i]中的每个元素代表一块砖,其长度为bricks[i]个单位,宽度为1个单位。我们必须找到铺设砖块的方法数量,以便我们获得具有给定宽度和高度的砖块的完整布局。我们可以重复使用砖块,但只能水平放置。因此,如果输入为bricks=[2,1]width=3height=2,则输出将为9,因为&m

用 Python 编写程序,查找元素 square 在给定范围内的对数

假设我们有两个数字列表nums1和nums2。还有两个数字lower和upper。我们必须找到对(i,j)的数量,使得lower≤nums1[i]^2+nums2[j]^2≤upper。因此,如果输入为nums1=[5,3,2]nums2=[8,12,6]lower=10upper=50,则输出将为2,因为对数为(1,

用 Python 编写程序检查机器人是否在有界框内移动

假设我们有一个字符串s,表示机器人的移动。机器人当前位于(0,0)位置,面朝北方。移动字符串s可能包含这些字符"F"向前移动一个单位"L"向左旋转90度"R"向右旋转90度因此,如果机器人按顺序重复进行s中的移动,我们必须检查平面中是否存在机器人永远不会离开的某个框。因此,如果输入为s="FF

用 Python 编写程序,在给定范围内查找数字范围的按位与

假设我们有两个值start和end,我们必须找到范围[start,end](包括两者)内所有数字的按位与。因此,如果输入为start=8end=12,则输出将是8是二进制的1000,12是二进制的1100,因此1000AND1001AND1010AND1011AND1100是1000,即8。要解决这个问题,我们将遵循以下步骤−n

用 Python 编写程序,在二进制列表中查找总和为 k 的子列表数量

假设我们有一个包含0或1的二进制列表。我们还有另一个输入称为k,我们必须找到总和与k相同的子列表的数量。因此,如果输入为nums=[1,0,0,1,1,1,0,1]k=3,则输出将为8,因为子列表为[1,0,0,1,1],[0,0,1,1,1],[0,0,1,1,1,0],[0,1,1,1,1],[0,1,1,1,0],[1,1,1],[1,

用 Python 编写程序,查找显示将所有球移动到当前位置所需的总距离的列表

假设我们有一个名为nums的二进制列表,其中仅包含0和1,其中0表示空单元格,1表示单元格由球填充。我们必须找到一个新的列表,例如L,其大小也与nums大小相同,其中L[i]设置为将所有球移动到L[i]所需的总距离。这里将球从索引j移动到索引i的距离是|j-i|。因此,如果输入为nums=[1,1,0,1],则输出将为[4,3,4,5

用 Python 编写程序平衡方向字符串,使每个方向出现四分之一次

假设我们有一个字符串s,其中包含四个方向"N"、"S"、"W"和"E",分别代表北、南、西和东。我们必须找到可以更新的最短子字符串的大小,使得四个方向各出现n/4次,其中n是字符串s的大小。因此,如果输入为s="NNSWWESN",则输出将为1,此处n为8,因此8/4为2,因此如果我们将最后一个N更改为E,则所有方向将出现两次。为了解决这

用 Python 编写程序,查找包含一个唯一字符的字符串总数

假设我们有一个由小写字母组成的字符串s,我们必须找到包含一个唯一字符的子字符串总数。因此,如果输入为"xxyy",则输出将为6,因为子字符串为[x,x,xx,y,y,yy]为了解决这个问题,我们将遵循以下步骤−total:=0previous:=空白字符串对于s中的每个字符c,执行如果c与previous不同,则previous:=ctemp

用 Python 编写程序来查找某个范围内的节点数

假设我们有一个BST,并且我们还有左边界和右边界l和r,我们必须找到root中所有节点的数量,这些节点的值位于l和r之间(含l和r)。因此,如果输入如下l=7,r=13,则输出将为3,因为有三个节点:8、10、12。为了解决这个问题,我们将遵循以下步骤−stack:=astack并插入root首先,count:=0当stack不为空

用 Python 编写程序,查找给定数字中 1 位的数量

假设我们有一个数字n,我们必须找到该数字的二进制表示中1位的数量。因此,如果输入为12,则输出为2为了解决这个问题,我们将遵循以下步骤−count:=0当n非零时,执行count:=count+(nAND1)n:=floorof(n/2)返回count让我们看看下面的实现以便更好地理解−示例classSolution:de

用 Python 编写程序来查找第 N 个斐波那契数

假设我们有一个数字n,我们必须找到第n个斐波那契项。我们知道斐波那契数列第i项f(i)=f(i-1)+f(i-2),前两项分别为0、1。因此,如果输入为15,则输出为610要解决这个问题,我们将遵循以下步骤−first:=0,second:=1对于范围从2到n的i,执行temp:=first+secondfirst:=seco

用 Python 编写程序,找出排列 n 个车使它们无法相互攻击的方法数

假设我们有一个数字n,代表一个大小为nxn的棋盘。我们必须找出放置n个车使它们无法相互攻击的方法数。如果其中一种方法中棋盘上的某个格子被占用,而另一种方法中格子未被占用,则两种方法将被视为不同。(我们知道,如果车位于同一行或同一列,它们可以互相攻击)。因此,如果输入为3,则输出为6为了解决这个问题,我们将遵循以下步骤−f=n的阶乘返回f让我们看看下面的实现

用 Python 编写程序检查给定数字是否为自恋数字

假设我们有一个数字n;我们必须检查它是否等于n的数字之和的位数次方。因此,如果输入为9474,则输出将为True,即9^4+4^4+7^4+4^4=6561+256+2401+256=9474。为了解决这个问题,我们将遵循以下步骤−s:=n中的数字列表如果n与s中所有x的x*(s的大小)之和相同,则返回true,否

用 Python 编写程序,分别按升序和降序对所有偶数和奇数进行排序

假设我们有一个名为nums的数字列表,我们必须按照以下标准对数组进行排序偶数按升序排序奇数按降序排序偶数和奇数的相对位置不应改变。因此,如果输入为[9,14,12,91,-4,5],则输出为[91,-4,12,9,14,5]为了解决这个问题,我们将遵循以下步骤−evens:=nums数组中的偶数项列表odds:=奇数项列表在nums数组中对列

用 Python 编写程序来查找连续严格递增子列表的长度

假设我们有一个名为nums的数字列表,当我们可以从列表中删除一个或零个元素时,我们必须找到连续严格递增子列表的最大长度。因此,如果输入为nums=[30,11,12,13,14,15,18,17,32],则输出将为7,因为当我们从列表中删除18时,我们可以得到[11,12,13,14,15,17,32],这是最长的、连续的、严格递增的子列表,其长度为

用 Python 编写程序,查找从 1 到 N 的所有缺失数字

假设我们有一个数字列表,称为nums,大小为n,列表中的所有数字都存在于区间[1,n]中,有些元素可能出现两次,而其他元素只出现一次。我们必须从[1,n]中找到所有不在列表中的数字。我们必须返回按升序排序的数字。我们必须尝试找到一个需要线性时间和恒定空间的解决方案。因此,如果输入为[4,4,2,2,6,6],则输出将为[1,3,5]。为了解决这个问题,我们将遵循以

用 Python 编写程序,在列表中查找值与其频率相同的元素

假设我们有一个名为nums的数字列表,我们必须检查列表中是否存在频率与其值相同的元素。因此,如果输入为[2,4,8,10,4,4,4],则输出将为True为了解决这个问题,我们将遵循以下步骤−res:=一个新的映射,用于存储按值的频率对于res中的每个键值对(k,v),执行如果k与v相同,则返回True返回False让我们看看下面的实现以便更

用 Python 编写程序,查找按升序或降序排列数字的最小成本

假设我们有一个名为nums的数字列表,我们必须找到按任意顺序(升序或降序)对列表进行排序的最小成本。这里的成本是任何元素的旧值和新值之间的差异总和。因此,如果输入为[2,5,4],则输出将为2。为了解决这个问题,我们将遵循以下步骤−temp:=复制数组nums对列表temp进行排序c1:=0,c2:=0n:=nums的大小对于0到n范围内的i,

用 Python 编写程序合并两个排序列表以形成更大的排序列表

假设我们有两个排序列表A和B。我们必须合并它们并形成一个排序列表C。列表的大小可能不同。例如,假设A=[1,2,4,7]和B=[1,3,4,5,6,8],则合并后的列表C将为[1,1,2,3,4,4,5,6,7,8]我们将使用递归来解决这个问题。因此该函数将像下面这样工作−x:=anewlisti:=0,j:=0whilei<siz

用 Python 编写程序来分割一个数字列表,使得中位数的绝对差最小

假设我们有一个名为nums的数字列表,我们必须将其分成大小相同的两个部分,每个列表的中位数之间的绝对差尽可能小,我们必须找到这个差值。我们必须记住,这里nums/2的长度将是奇数。因此,如果输入为[2,10,8,5,4,7],则输出将为2,因为我们可以创建两个列表,如[2,5,10]和[4,7,8],则中位数为5和7,它们的差为2。为了解决这个问题,我们将遵