给定一个单词序列,检查它是否构成一个有效单词广场。
一个有效的单词广场应满足以下条件:对于满足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

  

有效单词词广场——算法面试刷题5(for google),考察数学的更多相关文章

  1. 最长绝对文件路径——算法面试刷题1(google),字符串处理,使用tree遍历dfs类似思路

    假设我们通过以下的方式用字符串来抽象我们的文件系统: 字符串"dir\n\tsubdir1\n\tsubdir2\n\t\tfile.ext"代表了: dir subdir1 su ...

  2. 有效的括号序列——算法面试刷题4(for google),考察stack

    给定一个字符串所表示的括号序列,包含以下字符: '(', ')', '{', '}', '[' and ']', 判定是否是有效的括号序列. 括号必须依照 "()" 顺序表示, & ...

  3. 相似的RGB颜色——算法面试刷题3(for google),考察二分

    在本题中,每个大写字母代表从“0”到“f”的一些十六进制数字. 红绿蓝三元色#AABBCC可以简写为#ABC. 例如,#15c是颜色#1155cc的简写. 现在,假设两种颜色#ABCDEF和#UVWX ...

  4. 回文的范围——算法面试刷题2(for google),考察前缀和

    如果一个正整数的十进制表示(没有前导零)是一个回文字符串(一个前后读取相同的字符串),那么它就是回文.例如,数字5, 77, 363, 4884, 11111, 12121和349943都是回文. 如 ...

  5. 数据结构+算法面试100题~~~摘自CSDN

    数据结构+算法面试100题~~~摘自CSDN,作者July 1.把二元查找树转变成排序的双向链表(树) 题目:输入一棵二元查找树,将该二元查找树转换成一个排序的双向链表.要求不能创建任何新的结点,只调 ...

  6. 算法笔记刷题1(codeup 1934)

    准备6月份的拼题甲级中(本来现在这两天就考试了,但是因为疫情的原因延期了) 刚刚开始按算法笔记刷题,今天是探索codeup的第一天. 一开始并没有把多点测试当回事,直到一错再错,心态爆炸... 附上我 ...

  7. 安利一个基于Spring Cloud 的面试刷题系统。面试、毕设、项目经验一网打尽

    推荐: 接近100K star 的Java学习/面试指南 Github 95k+点赞的Java面试/学习手册.pdf 今天给小伙伴们推荐一个朋友开源的面试刷题系统. 这篇文章我会从系统架构设计层面详解 ...

  8. 2021字节跳动校招秋招算法面试真题解题报告--leetcode19 删除链表的倒数第 n 个结点,内含7种语言答案

    2021字节跳动校招秋招算法面试真题解题报告--leetcode19 删除链表的倒数第 n 个结点,内含7种语言答案 1.题目描述 给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点. ...

  9. 2021字节跳动校招秋招算法面试真题解题报告--leetcode206 反转链表,内含7种语言答案

    206.反转链表 1.题目描述 反转一个单链表. 示例: 输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1-> ...

随机推荐

  1. 跟我学算法-吴恩达老师的logsitic回归

    logistics回归是一种二分类问题,采用的激活函数是sigmoid函数,使得输出值转换为(0,1)之间的概率 A = sigmoid(np.dot(w.T, X) + b ) 表示预测函数 dz ...

  2. Excel数据转化为sql脚本

    在实际项目开发中,有时会遇到客户让我们把大量Excel数据导入数据库的情况.这时我们就可以通过将Excel数据转化为sql脚本来批量导入数据库. 1 在数据前插入一列单元格,用来拼写sql语句. 具体 ...

  3. js中创建table表格

    <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...

  4. flask test

    DATABASE_URI = 'mysql://root:mhc.123@127.0.0.1/test1'

  5. ORA-01157:无法标识/锁定数据文件,ORA-01110:数据文件。。。

  6. push和pop指令的使用

  7. 使用SQL查询所有数据库名和表名

    使用SQL查询所有数据库名和表名 MySQL中查询所有数据库名和表名 查询所有数据库 show databases; 1 1 查询指定数据库中所有表名 select table_name from i ...

  8. 🔸RU大神手册上要再“做”的题🔸

  9. php从数组中取出一段 之 array_slice

    array array_slice ( array $array , int $offset [, int $length [, bool $preserve_keys ]] ) array_slic ...

  10. lua简单包装

    #ifndef _LUA_WRAPPER_ #define _LUA_WRAPPER_ extern "C" { #include "lua.h" #inclu ...