20180625 qzd
每日一题26 -- 有效单词词广场
给定一个单词序列,检查它是否构成一个有效单词广场。
一个有效的单词广场满足:如果第k行和第k列读取相同的字符串,并且0≤k<max(numRows numColumns)。
注意事项:
给定的单词数量至少为1,且不超过500。
单词长度至少为1,不超过500。
每个单词只包含小写英文字母a-z。
样例:
给定
[
"abcd",
"bnrt",
"crmy",
"dtye"
]
返回 true
解释:
第一行和第一列都是“abcd”。
第二行和第二列都是“bnrt”。
第三行和第三列都是“crmy”。
第四行和第四列都是“dtye”。
因此,这是一个有效的单词广场.
给定
[
"abcd",
"bnrt",
"crm",
"dt"
]
返回 true
解释:
第一行和第一列都是“abcd”。
第二行和第二列都是“bnrt”。
第三行和第三列都是“crm”。
第四行和第四列都是“dt”。
因此,这是一个有效的单词广场.
给定
[
"ball",
"area",
"read",
"lady"
]
返回 false
解释:
第三行是 "read" 但是第三列是 "lead".
因此,这不是一个有效的单词广场.
my code:
class Solution:
"""
@param words: a list of string
@return: a boolean
"""
def validWordSquare(self, words):
# Write your code here
if len(words)<500 & len(words)>0:
print("faild")
else:
for i in range(len(words)):
for j in range(len(words[i])):
if words[i][j] != words[j][i]:
return False
return True
每日一题27 -- Add Strings
以字符串的形式给出两个非负整数 num1 和 num2,返回 num1 和 num2 的和。
注意事项:
num1 和 num2 的长度都小于5100。
num1 和 num2 都只包含数字 0-9。
num1 和 num2 都不包含任何前导零。
您不能使用任何内置的BigInteger库内的方法或直接将输入转换为整数。
样例:
给定 num1 = "123",num2 = "45"
返回 "168"
my code:
class Solution:
"""
@param num1: a non-negative integers
@param num2: a non-negative integers
@return: return sum of num1 and num2
"""
def addStrings(self, num1, num2):
# write your code here
return str(int(num1)+int(num2))
每日一题28 -- 栅栏染色
我们有一个栅栏,它有n个柱子,现在要给柱子染色,有k种颜色可以染。
必须保证不存在超过2个相邻的柱子颜色相同,求有多少种染色方案。
注意事项:
n和k都是非负整数
样例
n = 3, k = 2, return 6
post 1, post 2, post 3
way1 0 0 1
way2 0 1 0
way3 0 1 1
way4 1 0 0
way5 1 0 1
way6 1 1 0