欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程语言 > php >内容正文

php

Leetcode PHP题解--D25 500. Keyboard Row

发布时间:2025/4/16 php 63 豆豆
生活随笔 收集整理的这篇文章主要介绍了 Leetcode PHP题解--D25 500. Keyboard Row 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

500. Keyboard Row

题目链接

500. Keyboard Row

题目分析

给定一个字符串数组,返回那些所出现的字母在QWERTY键盘中同一行的字符串。

例如,单词hello中,字母h和l在键盘的第二行(或者中间那一行),剩余字母e和o在第一行。故排除之。
再如,Dalas中,所有字母都在中间那一行,则返回它。

思路

我的思路是,把键盘中每一行出现的字母存进3个数组中(因为有3行),将每个字符串分割成数组,判断该数组与每一行字母数组是否有差集。如果分散在不同行,则必定会在与某一行有差。用array_filter函数过滤这些有差的字符串即可。

最终代码

<?php class Solution {function findWords($words) {return array_filter($words, function($val){$val = array_unique(str_split(strtolower($val)));$q = ['q','w','e','r','t','y','u','i','o','p'];$a = ['a','s','d','f','g','h','j','k','l'];$z = ['z','x','c','v','b','n','m'];return !(array_diff($val,$q) && array_diff($val,$a)&&array_diff($val,$z));});} } 复制代码

若觉得本文章对你有用,欢迎用爱发电资助。

总结

以上是生活随笔为你收集整理的Leetcode PHP题解--D25 500. Keyboard Row的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。