python每日一题总结8

20180625 qzd

每日一题26 -- 有效单词词广场


给定一个单词序列,检查它是否构成一个有效单词广场。
一个有效的单词广场满足:如果第k行和第k列读取相同的字符串,并且0≤k 注意事项:

给定的单词数量至少为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


上一篇:每日一题7
下一篇:每日一题9

你可能感兴趣的:(python每日一题总结8)