有效单词词广场——算法面试刷题5(for google),考察数学
2024-08-27 06:54:01
给定一个单词序列,检查它是否构成一个有效单词广场。
一个有效的单词广场应满足以下条件:对于满足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
最新文章
- 如何将EXCEL表导入ORACLE数据库中?【转】
- Javascript常用方法函数收集(一)
- nodeJs 模块cookie-session api文档中文翻译,偶自己翻译的
- Web应用数据库配置参数读取方法之一
- Adobe Flash player 10 提示:Error#2044:未处理的IOErrorEvent. text=Error#2036:加载未完成 的解决方法
- 关于MyBatis mapper的insert, update, delete返回值
- 熟悉css/css3颜色属性
- 重写ViewPager方法,防止滑动广告尾页的时候,Fragment也改变! (如果广告设置为轮播的话,不需要重写ViewPager)
- Xcode 8 新特性
- PHP 开发 APP 接口 学习笔记与总结 - APP 接口实例 [2] 首页 APP 接口开发方案 ① 读取数据库方式
- Unable to get valid context for root
- [Java] Servlet 3 &mdash;&mdash; 用Java生成GET/POST请求
- OpenCV学习(一)
- API通用设计原则
- [ios2] 获取mac地址 等唯一标识
- linshi_temp_erweima_html_backup
- [1] Entity Framework / Code First
- Java Swing项目专栏之项目业务流程与业务逻辑
- 「mysql优化专题」主从复制面试宝典!面试官都没你懂得多!(11)
- BZOJ 3105: [cqoi2013]新Nim游戏 [高斯消元XOR 线性基]