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


用 Python 编写程序,查找二叉搜索树中第 k 个最小元素

假设我们有一个二叉搜索树,还有另一个整数k,我们需要找到树中第k个最小值。因此,如果输入如下k=3,则输出为7要解决这个问题,我们将遵循以下步骤−stack:=一个空栈i:=0ans:=-1当堆栈不为空或根不为空时,执行当根不为空时,执行将根推入堆栈root:=根的左侧v:=从堆栈弹出元素如果i与k相同,则ans:=v的值退出循环root

用 Python 编写程序从元素列表中查找第 k 个缺失数字

假设我们有一个排序的唯一数字列表,称为nums和一个整数k,我们必须从给定列表的第一个元素中查找第k个缺失数字。因此,如果输入为nums=[5,6,8,10,11],k=1,则输出将为9,因为9是第二个(索引1)缺失数字。为了解决这个问题,我们将遵循以下步骤−对于范围从1到nums大小的i,执行diff:=nums[i]-nums[i-

Python 中的最小好基数

假设我们有一个整数n,当n的所有数字都是1时,我们称k>=2为n的好基数。因此,如果数字n以字符串形式给出,我们必须以字符串形式返回n的最小好基数。因此,如果数字是121,那么答案将是3,因为3进制中的121是11111。为了解决这个问题,我们将遵循以下步骤−定义一个名为getSum()的方法,它将采用x和长度设置mainS

Python 中的强密码检查器

假设我们有一个字符串,即密码。我们必须找出使密码变强所需的最少更改。因此密码具有以下一些标准−它必须至少包含6个字符,最多包含20个字符它必须包含至少一个小写字母、至少一个大写字母和至少一个数字字符。它不能包含连续三个重复字符,如…aaa…、…PPP…、…888…。因此,如果输入的是&mi

用 Python 编写程序查找链表的倒数第 K 个节点

假设我们有一个单链表,我们必须检查倒数第k个节点(0索引)的值。我们必须一次性解决这个问题。因此,如果输入为node=[5,4,6,3,4,7],k=2,则输出将为3,因为倒数第二个(索引3)节点的值为3。要解决这个问题,我们将遵循以下步骤−klast:=nodelast:=node对于范围从0到k的i,执行last:=nextofla

用 Python 编写程序,从堆栈列表中查找弹出的 k 个元素的最大和

假设我们有一个堆栈列表和一个整数k。我们必须找到从堆栈的任意组合中弹出k个元素所能实现的最大可能和。因此,如果输入为stacks=[[50,-4,-15],[2],[6,7,8]],k=4,则输出将为39,因为我们可以从第一个堆栈中弹出所有3个元素,并弹出最后一个堆栈的最后一个元素,得到-15+-4+50+8=39。为了解决这个问题,我们将遵循以下

用 Python 编写程序,查找每个 K 大小窗口都有唯一元素的数字列表

假设我们有一个名为nums的数字列表和另一个数字k,我们必须在每个大小为k的窗口中找到一个不同数字的列表。因此,如果输入为nums=[2,2,3,3,4],k=2,则输出将为[1,2,1,2],因为窗口为[2,2]、[2,3]、[3,3]和[3,4]。为了解决这个问题,我们将遵循以下步骤−c:=创建一个包含nums中元素及其频

用 Python 编写程序来查找岛屿形状的周长

假设我们有一个二进制矩阵,其中0表示空单元格,1表示形成形状的块,现在我们必须找到该形状的周长。该形状内部不会有任何孔。因此,如果输入如下000000110011011001100000则输出将是14.为了解决这个问题,我们将遵循以下步骤−d:=0周长:=0高度:=矩阵的行数长度:=矩阵的列数对于矩阵中的每一行,执行c:=0对于行中的每个值,执行如果值与1

用 Python 编写的反转二叉树的程序

假设我们有一个二叉树根,我们必须将其反转,以便交换其左子树和右子树,并且还递归交换其子树。因此,如果输入如下那么输出将是要解决这个问题,我们将遵循以下步骤−定义一个方法solve(),它将获取节点如果root为null,则返回根的左边:=solve(根的右边)根的右边:=solve(根的右边)返回root让我们看看下面的实现以便更好地理解−示例classTreeNo

用 Python 编写程序来交错两个链表中的列表元素

假设我们有两个链表l1和l2,我们必须通过从l1开始交错这两个列表的元素来返回一个链表。如果链接列表中有任何剩余节点,则应将它们附加到列表中。因此,如果输入为l1=[5,4,6,3,4,7]l2=[8,6,9],则输出将为[5,8,4,6,6,9,3,4,7]为了解决这个问题,我们将遵循以下步骤−ans:=l1当l2不为空时,执行如果ans不为空,

用 Python 编写程序对二叉树进行中序遍历

假设我们有一棵二叉树;我们必须找到一个包含根的中序遍历列表。我们知道中序遍历是一种遍历树中所有节点的方法,我们减去;递归遍历左子树。遍历当前节点。递归遍历右子树。我们必须尝试以迭代方式解决这个问题。所以,如果输入是这样的那么输出将是[12,13,4,16,7,14,22]为了解决这个问题,我们将遵循以下步骤−inorder:=一个新列表stack:=一个空堆栈无限地执行以下操

用 Python 编写程序来计算数字严格递增的 n 位整数

假设我们有一个数字n,我们必须找到数字严格递增的n位正整数的数量。因此,如果输入为n=3,则输出将为84,因为数字为123、124、125、...、678,789为了解决这个问题,我们将遵循以下步骤−ifn<9非零,则返回组合(9Cn)否则,返回0让我们看看下面的实现以便更好地理解−示例frommathimportfactoria

用 Python 编写程序检查我们是否可以从索引 0 到达最后一个位置

假设我们有一个名为nums的数字列表,其中每个数字显示我们可以进行的最大跳跃次数;我们必须检查是否可以从索引0开始到达最后一个索引。因此,如果输入类似于nums=[2,5,0,2,0],则输出将为True,因为我们可以从索引0跳到1,然后从索引1跳到末尾。为了解决这个问题,我们将遵循以下步骤−n:=nums的大小arr:=大小为n的数组并用fa

Python 中的整数到英文单词

假设我们有一个数字。该数字可以是0到231–1之间的任何数字。我们必须将数字转换为单词。因此,如果数字为512,则结果将为五百一十二。要解决这个问题,我们将遵循以下步骤−定义一些列表,如less_than_20,它将保存从一到十九的所有单词另一个数组,如十位,用于保存十位、二十位、三十位等,直到九十位另一个千位数组,用于保存千位、百万位和十亿位定义一个名为

Python 中的单词搜索 II

假设我们有一个2D棋盘和一个单词列表。因此,我们必须从字典中找出棋盘中的所有单词。这里每个单词必须由连续相邻单元格的字母构成,其中相邻单元格是水平或垂直相邻的单元格。我们必须记住,同一个字母单元格不能在一个单词中使用多次。因此,如果输入类似−要解决这个问题,我们将遵循以下步骤−生成一个数组结果定义一个名为solve()的方法,它将获取board、d、i、js当i或

用 Python 编写程序,查找起始和结束范围内所有连续增加的数字

假设我们有两个数字起始和结束,我们必须找到一个有序的整数列表,使得范围[起始,结束]内的每个数字e(包括起始和结束)都是连续增加的。连续增加的数字的一个例子是5678,但169不是。因此,如果输入为start=10end=150,则输出将为[12,23,34,45,56,67,78,89,123]为了解决这个问题,我们将遵循以下步骤−s:=

Python Pandas - 从具有特定时间序列频率的 DateTimeIndex 中提取小时

要从具有特定时间序列频率的DateTimeIndex中提取小时,请使用DateTimeIndex.hour属性。首先,导入所需的库−importpandasaspdDatetimeIndex周期为6,频率为H,即小时。时区为澳大利亚/悉尼−datetimeindex=pd.date_range('2021-10-2002:35:55&#

用 Python 编写程序,计算最多连续赢得 k 场游戏的方法数

假设我们有两个数字n和k。这里n代表我们要玩的游戏数。我们必须找出有多少种方法可以连续赢得k场或更少的比赛。如果答案太大,则将结果取10^9+7的模。因此,如果输入为n=3k=2,则输出将为7,因为我们可能连续获胜2次或更少次的可能方式是["LLL","WLL","LWL","LL

逐个元素检查 IntervalIndex 中的 Interval 是否包含 Python Pandas 中的值

要返回与当前IntervalArray相同但在指定侧关闭的IntervalArray,请使用set_closed()方法,并将参数设置为both。首先,导入所需的库−importpandasaspd创建IntervalArray−index=pd.arrays.IntervalArray.from_breaks(range(6))显示间隔&mi

Python Pandas - 逐元素检查 IntervalIndex 中的 Interval 是否包含该值

要逐元素检查IntervalIndex中的Interval是否包含该值,请使用IntervalIndex。首先,导入所需的库−importpandasaspd创建IntervalIndex−interval=pd.IntervalIndex.from_tuples([(10,20),(15,25)])显示间隔−print(&q