zoukankan      html  css  js  c++  java
  • [LintCode] 194. Find Words

    Given a string str and a dictionary dict, you need to find out which words in the dictionary are subsequences of the string and return those words.The order of the words returned should be the same as the order in the dictionary.

    Example

    Example 1:

    Input:
    str="bcogtadsjofisdhklasdj"
    dict=["book","code","tag"]
    Output:
    ["book"]
    Explanation:Only book is a subsequence of str
    

    Example 2:

    Input:
    str="nmownhiterer"
    dict=["nowhere","monitor","moniter"]
    Output:
    ["nowhere","moniter"]

    Solution 1:
    public class Solution {
        /**
         * @param str: the string
         * @param dict: the dictionary
         * @return: return words which  are subsequences of the string
         */
        public List<String> findWords(String str, List<String> dict) {
            // Write your code here.
            List<String> res = new ArrayList<>();
            for (String item: dict) {
                int sItem = 0;
                int sStart = 0;
                while (sItem < item.length() && sStart < str.length()) {
                    if (item.charAt(sItem) == str.charAt(sStart)) {
                        sItem += 1;
                    }
                    if (sItem == item.length()) {
                        res.add(item);
                        break;
                    }
                    sStart += 1;
                }
            }
            return res;
        }
    }
  • 相关阅读:
    jqGrid基本使用
    模块熟悉
    正则表达式-精髓
    登录+购物车+信息保存
    输入打开文件
    python打印目录下的文件名
    进度条
    模块导入
    正则表达式
    函数笔记
  • 原文地址:https://www.cnblogs.com/xuanlu/p/12515161.html
Copyright © 2011-2022 走看看