在 Python 中索引处解码字符串
假设给定一个编码字符串S。我们必须找到并将解码后的字符串写入磁带,这里一次读取一个字符的编码字符串,并执行以下步骤−如果读取的字符是字母,则只需将该字母写入磁带即可。如果读取的字符是数字,则整个当前磁带将重复写入数字–总共1次。现在,如果给定某个编码字符串S和索引K,则在解码后的字符串中找到并返回第K个字母(从1开始索引)。因此,如果字符串是&l
Python 中能被 K 整除的最小整数
假设我们有一个正整数K,我们需要找到最小的正整数N,使得N能被K整除,并且N只包含数字1。我们必须找到N的长度。如果不存在这样的N,则返回-1。因此,如果输入为3,则输出为3。最小答案为N=111。要解决这个问题,我们将遵循以下步骤−如果k为偶数,或者k可以被5整除,则返回-1设置r:=0和N=1对于i,范围为1到
Python 中笨拙的阶乘
众所周知,正整数n的阶乘是所有小于或等于n的正整数的乘积。因此阶乘(10)=10*9*8*7*6*5*4*3*2*1。我们将尝试找到一个笨拙的阶乘:使用按降序排列的整数,我们将乘法运算换成固定的循环运算:按此顺序乘法(*)、除法(/)、加法(+)和减法(-)。笨拙的阶乘类似于笨拙的阶乘(10)=10*9/8+7-6*5/4+
Python 中排序矩阵中第 K 个最小元素
假设我们有一个nxn矩阵,其中每一行和每一列都按升序排序,我们必须找到矩阵中第k个最小元素。请注意,它是排序顺序中的第k个最小元素,而不是第k个唯一元素。因此,如果输入为[[1,5,9],[10,11,13],[12,13,15]],如果k=8,则输出将为13。为了解决这个问题,我们将遵循以下步骤−定义一个名为checkVal()的方法,参数为矩阵和
在 Python 中查找和替换模式
假设我们有一个单词列表和一个模式,我们必须找出words中哪些单词与模式匹配。如果存在字母p的排列,则单词与模式匹配,因此在用p(x)替换模式中的每个字母x后,我们得到目标单词。我们必须找到words中与给定模式匹配的单词列表。例如,如果输入为["abc","deq","mee","aqq",&q
用 Python 中的子字符串生成回文
假设我们有一个字符串s,我们需要对s的子字符串进行查询。对于每个查询查询[i],有三个部分[left,right,k],我们可以重新排列子字符串s[left],...,s[right],然后选择其中最多k个替换为任意小写英文字母。如果经过上述操作后子字符串有可能是回文,则查询结果为真。否则为假。我们必须找到一个数组answer[],其中answer[i]是第i个查
用 Python 设计文件系统
假设我们必须设计一个提供这两个函数−的文件系统createPath(path,value)−这将创建一个新路径并在可能的情况下为其关联一个值并返回True。如果路径已经存在或其父路径不存在,则返回False。get(path)−这将查找与路径关联的值,如果路径不存在,则返回-1。路径的格式是一个或多个连接字符串,形式为−(正斜杠
Python 中掷骰子次数和目标和
假设我们有d个骰子,每个骰子有f个面,编号分别为1、2、...、f。我们必须找出掷骰子的可能方式数(总共fd种方式)对10^9+7取模,使面朝上的数字和等于目标。因此,如果输入为d=2、f=6、target=7,则输出将为6。因此,如果我们掷出每个有6个面的骰子,则有6种方法可以得到总和6,即1+6、2+5、3+3、4+3、5+
在 Python 中将所有 1 组合在一起的最小交换次数
假设我们有一个二进制数组数据,我们必须找到将数组中存储的所有1组合在数组中任意位置所需的最小交换次数。因此,如果数组类似于[1,0,1,0,1,0,0,1,1,0,1],则输出将为3,因为可能的解决方案是[0,0,0,0,0,1,1,1,1,1,1]要解决这个问题,我们将遵循以下步骤−设置one:=0,n:=数据数组的长度创建一个大小为n的数组summ,并用
在 Python 中验证 IP 地址
假设我们有一个字符串;我们必须检查给定的输入是有效的IPv4地址还是IPv6地址,或者都不是。IPv4地址通常以点分十进制表示法表示,由四个十进制数字组成,每个数字的范围从0到255,以点(".")分隔,例如192.168.254.1;此外,IPv4地址中的前导零是无效的。例如,地址192.168.254.01是无效的。IPv6地址表示为八组四个十六进制数字,每组代表1