leetcode[Keyboard Row]//待整理多种解法
来源:互联网 发布:拍淘宝衣服的模特要求 编辑:程序博客网 时间:2024/06/06 00:44
解法一:
public class Solution { public String[] findWords(String[] words) { Set<Character> row1 = new HashSet<>(); Set<Character> row2 = new HashSet<>(); Set<Character> row3 = new HashSet<>(); row1.addAll(Arrays.asList('Q','W','E','R','T','Y','U','I','O','P')); row2.addAll(Arrays.asList('A','S','D','F','G','H','J','K','L')); row3.addAll(Arrays.asList('Z','X','C','V','B','N','M')); int[] index = new int[words.length];//用index来判断是否满足条件,1代表满足条件,0代表不满足条件 int count = 0;//用于计数,判断满足条件的字符串个数 for(int i = 0; i < words.length; i++){ //先判断这个字符串的第一个字符,将其归到哪一行去,再判断,空字符串单独处理 if(words[i].length() == 0){ index[i] = 1; } else{ String upper = words[i].toUpperCase();//统一换成大写形式 char c = upper.charAt(0); if(row1.contains(c)){//这个字符串应该归第一行处理 boolean flag = true; for(int j = 1; j < upper.length(); j++){ if(!row1.contains(upper.charAt(j))){ flag = false; break; } } if(flag){ index[i] = 1; count++; } else{ index[i] = 0; } } else if(row2.contains(c)){//这个字符串应该归第二行处理 boolean flag = true; for(int j = 1; j < upper.length(); j++){ if(!row2.contains(upper.charAt(j))){ flag = false; break; } } if(flag){ index[i] = 1; count++; } else{ index[i] = 0; } } else{//这个字符串应该归第三行处理 boolean flag = true; for(int j = 1; j < upper.length(); j++){ if(!row3.contains(upper.charAt(j))){ flag = false; break; } } if(flag){ index[i] = 1; count++; } else{ index[i] = 0; } } } } String[] res = new String[count]; int move = 0; for(int i = 0; i < index.length; i++){ if(index[i] == 1){ res[move++] = words[i]; } } return res; }}
阅读全文
0 0
- leetcode[Keyboard Row]//待整理多种解法
- leetcode [Path Sum]//待整理多种解法
- leetcode [Majority Element]//待整理多种解法
- leetcode [Rotate Array]//待整理多种解法
- leetcode [Reverse Bits]//待整理多种解法
- leetcode [Happy Number]//待整理多种解法
- leetcode [Isomorphic Strings]//待整理多种解法
- leetcode [Contains Duplicate]//待整理多种解法
- leetcode[Add Digits]//待整理多种解法
- leetcode[Ugly Number]//待整理多种解法
- leetcode[Missing Number]//待整理多种解法
- leetcode[Word Pattern]//待整理多种解法
- leetcode[Ransom Note]//待整理多种解法
- leetcode[Longest Palindrome]//待整理多种解法
- leetcode[Fizz Buzz]//待整理多种解法
- leetcode[Add Strings]//待整理多种解法
- leetcode[Hamming Distance]//待整理多种解法
- leetcode[Island Perimeter]//待整理多种解法
- linux下Nginx安装
- 《明朝一哥王阳明》
- T626code学习笔记之Struts 2 工作流程简述
- 《奔跑吧Linux内核》开始预售啦
- Hibernate学习之---事务控制
- leetcode[Keyboard Row]//待整理多种解法
- HTTPS为什么安全 &分析 HTTPS 连接建立全过程
- 算法预备军(4)~树的概念
- debian版本升级
- Atitit.每周末总结 于每周一计划日程表 流程表 v8 -------------import 上周遗漏日志补充 检查话费 检查流量情况 Crm问候 Crm表total and 问候
- 【HDU1029】B
- 需求管理三步法
- Volley原理和Okhttp原理
- FTP学习1_FTP命令字和响应码解释