終于談妥 | 合法異序字符串242. Valid Anagram

每日說(shuō)一點(diǎn):終于談妥

壓抑了很久的工作定位于今凌晨1點(diǎn)終于在電話溝通中初步解決。很多事的成與不成與溝通關(guān)聯(lián)甚重侄泽。日常我是個(gè)心里有事暫時(shí)藏起來(lái)的人礁芦,但藏不住事也滅不了心里的想法。找了很多朋友談人生談人性,不知是我矯情,或是世道如是?
但終歸來(lái)說(shuō),我應(yīng)該去爭(zhēng)取我的意愿姑躲,做自己更愿意和熱情的事。與我目前助益微薄的瑣碎,我想放放。
凌亂了24小時(shí),又開(kāi)始了心安的自由的生活活翩。
信仰烹骨、閱讀、刷題材泄、英語(yǔ)沮焕、日語(yǔ)、產(chǎn)品拉宗,This is my life.

合法異序字符串

Given two strings s and t, write a function to determine if t is an anagram of s.
For example,
s = "anagram", t = "nagaram", return true.
s = "rat", t = "car", return false.
Note:
You may assume the string contains only lowercase alphabets.
Follow up:
What if the inputs contain unicode characters? How would you adapt your solution to such case?

判斷兩個(gè)字符串峦树,是異序相等的。

解法一:排序

我的第一想法就是排序旦事,既然異序魁巩,就將兩個(gè)字符串排序后,如果一致就是相等的姐浮。
上我的代碼:

class Solution {
public:
    int cnt[26]; //全局變量int數(shù)組的初始值才是0谷遂;
    bool isAnagram(string s, string t) {
      
        //解法二,計(jì)數(shù)表卖鲤,排序復(fù)雜度nlogn肾扰,計(jì)數(shù)表是n。
        for(int i = 0; i < s.length(); i++){
            cnt[s[i] - 'a'] ++;
        }
        for(int i = 0; i < t.length(); i++){ //一樣的字母會(huì)減去積累
            cnt[t[i] - 'a'] --;
        }
        
        for(int i = 0; i < 26; i++){
            if( cnt[i] ) //如果cnt計(jì)數(shù)有非零
                return false;
        }
        return true;
    }
};

排序時(shí)間復(fù)雜度是nlogn蛋逾,相比較于解法二的n集晚,確實(shí)笨了。80ms区匣。

解法二:哈希表計(jì)數(shù)

基于字符數(shù)是有限的偷拔,就用int數(shù)組記下對(duì)應(yīng)角標(biāo)字符的數(shù)量。第一個(gè)字符串用++,第二個(gè)用--条摸,最終都回歸到0平衡時(shí)悦污,說(shuō)明數(shù)目都一樣。
貼我學(xué)習(xí)解法二后自己的代碼:

class Solution {
public:
    int cnt[26]; //全局變量int數(shù)組的初始值才是0钉蒲;
    bool isAnagram(string s, string t) {
      
        //解法二切端,計(jì)數(shù)表,排序復(fù)雜度nlogn顷啼,計(jì)數(shù)表是n踏枣。
        for(int i = 0; i < s.length(); i++){
            cnt[s[i] - 'a'] ++;
        }
        for(int i = 0; i < t.length(); i++){ //一樣的字母會(huì)減去積累
            cnt[t[i] - 'a'] --;
        }
        
        for(int i = 0; i < 26; i++){
            if( cnt[i] ) //如果cnt計(jì)數(shù)有非零
                return false;
        }
        return true;
    }
};

復(fù)雜度就是n,12ms钙蒙。此法更快一點(diǎn)茵瀑。

如果適配Unicode字符?

我想就是不僅限于26個(gè)字母躬厌,但好在每個(gè)Unicode的字符都是有角標(biāo)的马昨,擴(kuò)大int數(shù)組的容量就好了吧~

周五回家并參加婚禮。我想我該好好陪家人并珍惜時(shí)光扛施。
——End——

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末鸿捧,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子疙渣,更是在濱河造成了極大的恐慌匙奴,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,039評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件妄荔,死亡現(xiàn)場(chǎng)離奇詭異泼菌,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)啦租,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,426評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門(mén)哗伯,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人篷角,你說(shuō)我怎么就攤上這事笋颤。” “怎么了内地?”我有些...
    開(kāi)封第一講書(shū)人閱讀 165,417評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵伴澄,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我阱缓,道長(zhǎng)非凌,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,868評(píng)論 1 295
  • 正文 為了忘掉前任荆针,我火速辦了婚禮敞嗡,結(jié)果婚禮上颁糟,老公的妹妹穿的比我還像新娘。我一直安慰自己喉悴,他們只是感情好棱貌,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,892評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著箕肃,像睡著了一般婚脱。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上勺像,一...
    開(kāi)封第一講書(shū)人閱讀 51,692評(píng)論 1 305
  • 那天障贸,我揣著相機(jī)與錄音,去河邊找鬼吟宦。 笑死篮洁,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的殃姓。 我是一名探鬼主播袁波,決...
    沈念sama閱讀 40,416評(píng)論 3 419
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼蜗侈!你這毒婦竟也來(lái)了篷牌?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,326評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤宛篇,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后薄湿,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體叫倍,經(jīng)...
    沈念sama閱讀 45,782評(píng)論 1 316
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,957評(píng)論 3 337
  • 正文 我和宋清朗相戀三年豺瘤,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了吆倦。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,102評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡坐求,死狀恐怖蚕泽,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情桥嗤,我是刑警寧澤须妻,帶...
    沈念sama閱讀 35,790評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站泛领,受9級(jí)特大地震影響荒吏,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜渊鞋,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,442評(píng)論 3 331
  • 文/蒙蒙 一绰更、第九天 我趴在偏房一處隱蔽的房頂上張望瞧挤。 院中可真熱鬧,春花似錦儡湾、人聲如沸特恬。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,996評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)癌刽。三九已至,卻和暖如春丹皱,著一層夾襖步出監(jiān)牢的瞬間妒穴,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,113評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工摊崭, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留讼油,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,332評(píng)論 3 373
  • 正文 我出身青樓呢簸,卻偏偏與公主長(zhǎng)得像矮台,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子根时,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,044評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語(yǔ)法瘦赫,類相關(guān)的語(yǔ)法,內(nèi)部類的語(yǔ)法蛤迎,繼承相關(guān)的語(yǔ)法确虱,異常的語(yǔ)法,線程的語(yǔ)...
    子非魚(yú)_t_閱讀 31,639評(píng)論 18 399
  • importUIKit classViewController:UITabBarController{ enumD...
    明哥_Young閱讀 3,814評(píng)論 1 10
  • http://python.jobbole.com/85231/ 關(guān)于專業(yè)技能寫(xiě)完項(xiàng)目接著寫(xiě)寫(xiě)一名3年工作經(jīng)驗(yàn)的J...
    燕京博士閱讀 7,579評(píng)論 1 118
  • 天 靜悄悄的 拉上厚厚的簾 星星和月亮 都不要 兩只陌生的耳朵 在交談 靜悄悄的 只有心在跳動(dòng) 跳動(dòng)的密碼在交換 ...
    平天下之文世界閱讀 235評(píng)論 7 3
  • 碎片時(shí)間及早起時(shí)間:2小時(shí)43分宜咒。 再一次用事實(shí)告訴我們讀一本所需要的時(shí)間真的不多。一天拿出三小時(shí)把鉴,可以實(shí)現(xiàn)讀完一...
    洛辰PLO閱讀 320評(píng)論 0 0