Python题库

 

 

1、你得到一个字符串的数组strarr和一个整数k。 您的任务是返回第一个最长的字符串,该字符串由数组中的k个连续字符串组成。

#Example:longest_consec([“zone”,“abigail”,“theta”,“form”,“libe”,“zas”,“theta”,“abigail”],2) - >“abigailtheta”

n是字符串数组的长度,如果n = 0或k> n或k <= 0则返回“”。

 

2、编写两个函数isPrime(number)和getPrimes(start, finish)

isPrime(number)
判断数字是否为质数,是返回True,否则返回False
isPrime(0); // === false
isPrime(1); // === false
isPrime(2); // === true

getPrimes(start, finish)
返回范围内的质数,请注意,这个范围可以去这两个方面-例如,getPrimes(10, 1)应全部归还素数1到10以下。
getPrimes(0, 0); // === []
getPrimes(0, 30); // === [2, 3, 5, 7, 11, 13, 17, 19, 23, 29]
getPrimes(30, 0); // === [2, 3, 5, 7, 11, 13, 17, 19, 23, 29]

 

3、您将获得一个包含整数的数组(其长度至少为3,但可能非常大)。
除了单个整数之外,该数组要么完全由奇数整数组成,要么完全由偶数整数组成N。编写一个方法,将数组作为参数并返回此“异常值” N。
奇偶校验,抛出列表中的异常值。

 

4、编写一个带有一串大括号的函数,并确定大括号的顺序是否有效。如果字符串有效,它应该返回true,如果它是无效的返回false。

这个Kata类似于Valid Parentheses Kata,但引入了新的字符:括号[]和花括号{}。

所有输入字符串都是非空的,并且只包括括号,括号和大括号:()[]{}。

什么被认为有效?
如果所有大括号与正确的大括号匹配,则认为大括号串是有效的,
例如:
"(){}[]" => True
"([{}])" => True
"(}" => False
"[(])" => False
"[({})](]" => False

 


5、编写一个函数,该函数将返回在输入字符串中出现多次不同的不区分大小写的字母字符和数字的计数。 可以假设输入字符串仅包含字母(大写和小写)和数字。


6、编写一个函数,它将传入一个秒数,并返回格式为HH:MM:SS


7、自恋数字是一个数字,它是自己数字的总和,每个数字都增加到给定基数中的数字位数。 在这个Kata中,我们将自己限制为十进制(基数为10)。
例如,取153(3位数) 取1234(4位数)
1**3+5**3+3**3 = 153 这样称为自恋数
编写一个函数,是自恋数返回True,不是则返回Flase

 

8、给定两个数组a和b写一个函数comp(a,b)(在Clojure中的compSame(a,b)),它检查两个数组是否具有“相同”元素,具有相同的多重性。在这里,“相同”意味着b中的元素是平方的元素,而不管顺序如何。
例子
有效数组
a = [121,144,19,161,19,144,19,11]
b = [121,14641,20736,361,25921,361,20736,361]
comp(a,b)返回true因为在b 121是11的平方,14641是121的平方,20736的平方是144,361是19的平方,25921是161的平方,依此类推。如果我们用正方形写b的元素就很明显了:
a = [121,144,19,161,19,144,19,11]
b = [11 * 11,121 * 121,144 * 144,19 * 19,161 * 161,19 * 19,144 * 144,19 * 19]
无效的数组
如果我们将第一个数字更改为其他数字,则comp可能不再返回true:
a = [121,144,19,161,19,144,19,11]
b = [132,14641,20736,361,25921,361,20736,361]
comp(a,b)返回false,因为在b 132中不是任意数量的a的平方。
a = [121,144,19,161,19,144,19,11]
b = [121,14641,20736,36100,25921,361,20736,361]
comp(a,b)返回false,因为在b 36100中不是任意数量的a的平方。

 

转载于:https://www.cnblogs.com/yfacesclub/p/10368694.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值