All Downloads are FREE. Search and download functionalities are using the official Maven repository.

g0401_0500.s0500_keyboard_row.Solution Maven / Gradle / Ivy

There is a newer version: 1.38
Show newest version
package g0401_0500.s0500_keyboard_row;

// #Easy #Array #String #Hash_Table #2022_07_24_Time_1_ms_(82.00%)_Space_42_MB_(48.14%)

import java.util.ArrayList;
import java.util.List;

/**
 * 500 - Keyboard Row\.
 *
 * Easy
 *
 * Given an array of strings `words`, return _the words that can be typed using letters of the alphabet on only one row of American keyboard like the image below_.
 *
 * In the **American keyboard**:
 *
 * *   the first row consists of the characters `"qwertyuiop"`,
 * *   the second row consists of the characters `"asdfghjkl"`, and
 * *   the third row consists of the characters `"zxcvbnm"`.
 *
 * ![](https://assets.leetcode.com/uploads/2018/10/12/keyboard.png)
 *
 * **Example 1:**
 *
 * **Input:** words = ["Hello","Alaska","Dad","Peace"]
 *
 * **Output:** ["Alaska","Dad"]
 *
 * **Example 2:**
 *
 * **Input:** words = ["omk"]
 *
 * **Output:** []
 *
 * **Example 3:**
 *
 * **Input:** words = ["adsdf","sfd"]
 *
 * **Output:** ["adsdf","sfd"]
 *
 * **Constraints:**
 *
 * *   `1 <= words.length <= 20`
 * *   `1 <= words[i].length <= 100`
 * *   `words[i]` consists of English letters (both lowercase and uppercase).
**/
public class Solution {
    private boolean check(String str, String word) {
        for (char ch : word.toCharArray()) {
            if (str.indexOf(ch) < 0) {
                return false;
            }
        }
        return true;
    }

    public String[] findWords(String[] words) {
        List arr = new ArrayList<>();
        for (String word : words) {
            String w = word.toLowerCase();
            if (check("qwertyuiop", w) || check("asdfghjkl", w) || check("zxcvbnm", w)) {
                arr.add(word);
            }
        }
        String[] ans = new String[arr.size()];
        ans = arr.toArray(ans);
        return ans;
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy