500. Keyboard Row

  1. 思路
    将同一行的英文字符映射为Map中的同一值,只要比较每个String中的每个字符的Map映射值是否一致即可。

  2. 代码

#include <iostream>
#include <map>
#include <vector>

using namespace std;

class Solution {
public:
    vector<string> findWords(vector<string>& words) {
        vector<string> output;
        vector<char> line1 = {'Q','W','E','R','T','Y','U','I','O','P',
                              'q','w','e','r','t','y','u','i','o','p'
        };
        vector<char> line2 = {'A','S','D','F','G','H','J','K','L',
                              'a','s','d','f','g','h','j','k','l'
        };
        vector<char> line3 = {'Z','X','C','V','B','N','M',
                              'z','x','c','v','b','n','m'
        };
        
        map<char,int> charMap;
        for(int i = 0 ; i < line1.size() ; i++)
            charMap[line1[i]] = 1;
        for(int i = 0 ; i < line2.size() ; i++)
            charMap[line2[i]] = 2;
        for(int i = 0 ; i < line3.size() ; i++)
            charMap[line3[i]] = 3;
        
        for(int i = 0 ; i < words.size() ; i++) {
            int flag = charMap[words[i][0]];
            
            int j = 1;
            for( ; j < words[i].size() ; j++)
                if(charMap[words[i][j]] != flag)
                    break;
            if(j == words[i].size())
                output.push_back(words[i]);
        }
        return output;
    }
};

int main(int argc, const char * argv[]) {
    
    vector<vector<char>> board ;
    vector<string> input= {"Hello", "Alaska", "Dad", "Peace"};
    Solution s ;
    
    vector<string> output = s.findWords(input);
    for(int i = 0 ; i < output.size() ; i++)
        cout<<output[i]<<endl;
    
    return 0;
}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,954评论 18 399
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,463评论 19 139
  • 第5章 引用类型(返回首页) 本章内容 使用对象 创建并操作数组 理解基本的JavaScript类型 使用基本类型...
    大学一百阅读 8,461评论 0 4
  • 上一章-云嫣之计 小说目录 第三十七章-明南来救 上官云嫣已无脸再见尘夕了,她心肠再阴毒,但也并非是一个厚颜无耻之...
    冰寒三尺阅读 2,929评论 0 8
  • 沉沉暮夜,远处不时传来狼的嚎叫声,更是给这夜晚又增添了几分肃杀的气息。大战即将结束,每一位士兵内心都无比复杂。熬了...
    天欲涨阅读 1,891评论 0 1