国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

leetcode 383 Ransom Note

2019-11-14 10:56:29
字體:
來源:轉載
供稿:網友

PRoblem: 給了一個字符串a和b,如果a中的字符全部來自b(b中的字符每個只能使用一次),就返回true,否則返回false Solution: 1. 最好的辦法就是先將b中的字符構造一個hash表,然后對應a中的字符看b中的hash值夠不夠,如果不夠就返回false。 2. 效率低一些的辦法就是將兩個字符串排序,然后一個一個比較看是否存在。 notes: 1. hash表重新改變大小這個過程非常耗時,需要重新計算hash值,所以最好的辦法是在使用前就指定好大小。

//Solution1:class Solution {public: bool canConstruct(string ransomNote, string magazine) { unordered_map<char, int> map(26); for(int i = 0; i < magazine.size(); i++) map[magazine[i]]++; for(int i = 0; i < ransomNote.size(); i++) if(--map[ransomNote[i]] < 0) return false; return true; }};//Solution2:class Solution {public: bool canConstruct(string ransomNote, string magazine) { sort(ransomNote.begin(), ransomNote.end()); sort(magazine.begin(), magazine.end()); int l = 0, r = 0; while(l < ransomNote.size()) { while(ransomNote[l] != magazine[r] && r < magazine.size()) r++; if(r >= magazine.size()) return false; l++; r++; } return true; }};
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 纳雍县| 宾川县| 姜堰市| 房产| 苗栗县| 乳源| 马龙县| 青冈县| 馆陶县| 邮箱| 石柱| 屏东县| 香格里拉县| 安吉县| 五原县| 汶上县| 巴彦县| 唐山市| 贺兰县| 阿克苏市| 闻喜县| 镶黄旗| 莱阳市| 吉木萨尔县| 望谟县| 仁寿县| 万州区| 台北市| 台南县| 龙川县| 肇州县| 沅陵县| 封丘县| 内江市| 长乐市| 北宁市| 夏津县| 宜君县| 吉木乃县| 古浪县| 团风县|