zoukankan      html  css  js  c++  java
  • 有效单词词广场——算法面试刷题5(for google),考察数学

    给定一个单词序列,检查它是否构成一个有效单词广场。
    一个有效的单词广场应满足以下条件:对于满足0≤k<max(numRows numColumns)k,第k行和第k列对应的字符串应该相同,。

    给定的单词数量至少为1,且不超过500
    单词长度至少为1,不超过500
    每个单词只包含小写英文字母a-z

    样例

    样例1

    输入: 
    [
      "abcd",
      "bnrt",
      "crmy",
      "dtye"
    ]
    输出: true
    解释:
    第一行和第一列都是“abcd”。
    第二行和第二列都是“bnrt”。
    第三行和第三列都是“crmy”。
    第四行和第四列都是“dtye”。
    
    因此,这是一个有效的单词广场.
    

    样例2

    输入:
    [
      "abcd",
      "bnrt",
      "crm",
      "dt"
    ]
    输出: true
    解释:
    第一行和第一列都是“abcd”。
    第二行和第二列都是“bnrt”。
    第三行和第三列都是“crm”。
    第四行和第四列都是“dt”。
    
    因此,这是一个有效的单词广场.
    

    样例3

    输入: 
    [
      "ball",
      "area",
      "read",
      "lady"
    ]
    输出: false
    解释:
    第三行是 "read" 但是第三列是 "lead".
    
    因此,这不是一个有效的单词广场.

    我的代码:
    class Solution:
        """
        @param words: a list of string
        @return: a boolean
        """
        def validWordSquare(self, words):
            # Write your code here
            r,c = len(words), len(words[0])
            if r != c:
                return False
            for i in range(r):
                for j in range(i+1, r):
                    if words[i][j] != words[j][i]:
                        return False
            return True
    

      参考代码:

    class Solution:
        """
        @param words: a list of string
        @return: return a boolean
        """
        def validWordSquare(self, words):
            # write your code here
            n, m = len(words), len(words[0])
            if(n != m):
                return False
            for i in range(n):
            	for j in range(m):
            		if(j >= n or i >= m or not(words[i][j] == words[j][i])):
            			return False
            return True
    

      

  • 相关阅读:
    一种JavaScript的设计模式
    ADO.Net之使用DataRead Or DataSet
    求助:彻夜难眠的问题
    ASP.NET的全球化配置
    ADO.NET和.NET框架中的数据管理[转]
    javascript实现datagrid客户端checkbox列的全选,反选
    下载文件出现提示框或者直接显示在浏览器中
    Visual Studio .NET已检测到指定的Web服务器运行的不是ASP.NET 1.1 版..(转)
    网站优化的十大奇招妙技
    关键字加亮JS方法
  • 原文地址:https://www.cnblogs.com/bonelee/p/10796849.html
Copyright © 2011-2022 走看看