www狠狠干-www日本免费-www三级-www色在线-亚洲午夜网站-亚洲午夜小视频

我想玩猜字謎 leetcode算法題每日一練- 猜字謎

雕龍文庫 分享 時間: 收藏本文

我想玩猜字謎 leetcode算法題每日一練- 猜字謎

算法題每日一練- 猜字謎

題目

外國友人仿照中國字謎設計了一個英文版猜字謎小游戲,請你來猜猜看吧。

字謎的迷面 按字符串形式給出我想玩猜字謎,如果一個單詞 word 符合下面兩個條件,那么它就可以算作謎底:

例如我想玩猜字謎,如果字謎的謎面是 “”我想玩猜字謎,那么可以作為謎底的單詞有 “”, “”, 和 “”;而 “”(不含字母 “a”)以及 “”(其中的 “s” 沒有出現在謎面中)都不能作為謎底。

返回一個答案數組 ,數組中的每個元素 [i] 是在給出的單詞列表 中可以作為字謎迷面 [i] 所對應的謎底的單詞數目。

示例:

輸入:words = ["aaaa","asas","able","ability","actt","actor","access"], puzzles = ["aboveyz","abrodyz","abslute","absoryz","actresz","gaswxyz"]輸出:[1,1,3,2,4,0]解釋:1 個單詞可以作為 "aboveyz" 的謎底 : "aaaa" 1 個單詞可以作為 "abrodyz" 的謎底 : "aaaa"3 個單詞可以作為 "abslute" 的謎底 : "aaaa", "asas", "able"2 個單詞可以作為 "absoryz" 的謎底 : "aaaa", "asas"4 個單詞可以作為 "actresz" 的謎底 : "aaaa", "asas", "actt", "access"沒有單詞可以作為 "gaswxyz" 的謎底,因為列表中的單詞都不含字母 'g'

提示:

分析

實現這題的思路其實很簡單:

首先,根據題意得符合謎底的必要條件: 必須由謎面中的字符組成,即一個謎底word中的字符一定都來源于一個謎面。謎底必須包含謎面中的第一個字符。 明白了兩個必要條件,所以思路就出來了,遍歷所有謎面,將謎底逐個代入進去驗證是否滿足條件。 實現

public static List<Integer> findNumOfValidWords(String[] words, String[] puzzles) { List<Integer> result = new ArrayList<>(); int count; boolean flag = false; // 遍歷謎面 for (String puzzle : puzzles) { count = 0; // 遍歷數組 for (String word : words) { // 第一個條件,謎底必須包含謎面puzzle中的第一個字符 if (word.contains(Character.toString(puzzle.charAt(0)))) { for (int k = 0; k < word.length(); k++) { char c = word.charAt(k); // 第二個條件,謎底的字符全部來源于謎面的字符 if (!puzzle.contains(Character.toString(c))) { flag = false; break; } flag = true; } if (flag){ count++; } } } result.add(count); } return result; }

總結

時間復雜度為O(MNV),即謎底的長度謎面word的長度單個字符串的長度,空間復雜度為O(N),即對應謎底的結果集合。當然,本題是存在優化點的,就是使用的思想,減少一層遍歷,讀者可以查看官方題解-猜字謎

免責聲明:本文系轉載,版權歸原作者所有;旨在傳遞信息,不代表本站的觀點和立場和對其真實性負責。如需轉載,請聯系原作者。如果來源標注有誤或侵犯了您的合法權益或者其他問題不想在本站發布,來信即刪。

主站蜘蛛池模板: 亚洲天天做日日做天天看 | 日本国产一区在线观看 | 中国黄色网址 | 成年人免费在线看 | 伊人网在线免费观看 | 免费看黄视频 | 天天爱天天做天天爽天天躁 | a毛片免费| 日韩毛片在线视频 | 久久一级毛片 | 精品91一区二区三区 | 久久免费特黄毛片 | 亚洲一区二区三区欧美 | 丁香六月 久久久 | 日韩一级黄色录像 | 被窝国产理论一二三影院 | 永久免费看 | 日日天干夜夜人人添 | 性一交一无一伦一精一品 | 亚洲五月综合 | 亚洲国产aaa毛片无费看 | 中文国产日韩欧美视频 | 看黄视频| 欧美成人 一区二区三区 | 亚洲激情小视频 | 国产精品日本欧美一区二区 | 天天爽夜夜爽 | 日本黄色免费在线 | 日韩欧美在线播放 | 不卡视频免费在线观看 | 人人干人人上 | 成人午夜免费福利视频 | 一区二区在线免费视频 | 日韩精品中文字幕久久 | 深夜在线 | 又粗又长又黄又爽视频 | 欧美日韩在线视频一区 | 成人a级高清视频在线观看 成人a大片在线观看 | 亚洲成人在线免费 | 色日韩在线 | 国产在线欧美日韩一区二区 |