国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

【LeetCode】500. Keyboard Row

2019-11-10 20:14:16
字體:
供稿:網(wǎng)友

【鏈接】:keyboard-row 【描述】: Given a List of Words, return the words that can be typed using letters of alphabet on only one row’s of American keyboard like the image below.

這里寫圖片描述 American keyboard

Example 1: Input: [“Hello”, “Alaska”, “Dad”, “Peace”] Output: [“Alaska”, “Dad”] Note: You may use one character in the keyboard more than once. You may assume the input string will only contain letters of alphabet. Subscribe to see which companies asked this question. 簡單來說就是找字符串,該字符串的每個字母都要在美式鍵盤的同一行即可。 【思路】第一種方法三個set 集合存儲鍵盤布局,利用set的find功能查找是否滿足條件。第二種方法看了一下討論區(qū),強大的python,居然有子集功能! 【代碼】:

/***********************【LeetCode】500. Keyboard RowAuthor:herongweiTime:2017/2/8 13:10language:C++http://blog.csdn.net/u013050857***********************/#PRagma comment(linker,"/STACK:102400000,102400000")#include <bits/stdc++.h>#include <iostream>#include <stdio.h>#include <string.h>#include <algorithm>using namespace std;typedef long long LL;const int maxn = 1e5+10;const int maxm = 55;const LL MOD = 999999997;int dir4[4][2]= {{1,0},{0,1},{-1,0},{0,-1}};int dir8[8][2]= {{1,0},{1,1},{0,1},{-1,1},{-1,0},{-1,-1},{0,-1},{1,-1}};inline LL read(){ int c=0,f=1; char ch=getchar(); while(ch<'0'||ch>'9'){if(ch=='-')f=-1;ch=getchar();} while(ch>='0'&&ch<='9'){c=c*10+ch-'0';ch=getchar();} return c*f;}/*Input: ["Hello", "Alaska", "Dad", "Peace"]//qwertyuiop//asdfghjkl//zxcvbnmOutput: ["Alaska", "Dad"]*/class Solution1 {public: vector<string> findWords(vector<string>& words) { int words_size=words.size(); vector<string> ret; unordered_set <char> row1 = { 'q','Q','w','W','e','E','r','R','t','T','y','Y','u','U','i','I','o','O','p','P' }; unordered_set <char> row2 = { 'a','A','s','S','d','D','f','F','g','G','h','H','j','J','k','K','l','L'}; unordered_set <char> row3 = { 'z','Z','x','X','c','C','v','V','b','B','n','N','m','M'}; for(auto &word:words){ bool f1=f2=f3=true; for(auto &ch:word){ if(f1){ auto it=row1.find(ch); if(it==row1.end()) f1=false; } if(f2){ auto it=row2.find(ch); if(it==row2.end()) f2=false; } if(f3){ auto it=row3.find(ch); if(it==row3.end()) f3=false; } } if(f1 || f2 || f3) ret.push_back(word); } return ret; }};class Solution2(object): def findWords(self, words): row1, row2, row3 = set('qwertyuiop'), set('asdfghjkl'), set('zxcvbnm'); ret = []; for word in words: w = set(word.lower()); if w.issubset(row1) or w.issubset(row2) or w.issubset(row3): ret.append(word); return ret;
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 漠河县| 台南县| 上林县| 文昌市| 庄河市| 溧阳市| 普宁市| 修武县| 临朐县| 文水县| 海南省| 光山县| 顺平县| 望奎县| 弥渡县| 新巴尔虎右旗| 西和县| 抚松县| 邵阳市| 扎兰屯市| 台山市| 南江县| 林芝县| 中西区| 尖扎县| 大新县| 宿州市| 娄烦县| 辰溪县| 赣州市| 武陟县| 天津市| 永川市| 宁津县| 永年县| 兴安盟| 肃宁县| 江源县| 华亭县| 庆阳市| 常熟市|