ARTS打卡第二周

ARTS打卡第二周

Algorithm:每周至少做一個 leetcode 的算法題

839. 相似字符串組

如果交換字符串 X 中的兩個不同位置的字母,使得它和字符串 Y 相等,那么稱 X 和 Y 兩個字符串相似荞胡。如果這兩個字符串本身是相等的种呐,那它們也是相似的太援。

例如掌桩,"tars" 和 "rats" 是相似的 (交換 0 與 2 的位置)沮明; "rats" 和 "arts" 也是相似的色乾,但是 "star" 不與 "tars"誊册,"rats",或 "arts" 相似暖璧。

總之案怯,它們通過相似性形成了兩個關(guān)聯(lián)組:{"tars", "rats", "arts"} 和 {"star"}。注意澎办,"tars" 和 "arts" 是在同一組中嘲碱,即使它們并不相似。形式上局蚀,對每個組而言麦锯,要確定一個單詞在組中,只需要這個詞和該組中至少一個單詞相似琅绅。

給你一個字符串列表 strs扶欣。列表中的每個字符串都是 strs 中其它所有字符串的一個字母異位詞。請問 strs 中有多少個相似字符串組?

來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/similar-string-groups
著作權(quán)歸領(lǐng)扣網(wǎng)絡(luò)所有料祠。商業(yè)轉(zhuǎn)載請聯(lián)系官方授權(quán)骆捧,非商業(yè)轉(zhuǎn)載請注明出處。

解題思路:

將相似的兩個字符串連成一個邊术陶,構(gòu)建一個父節(jié)點列表凑懂,通過相似性修改父節(jié)點列表中的值。
這些并集中有且只有一個父節(jié)點值等于自身索引梧宫。
最后遍歷一遍獲取自身索引與父節(jié)點值相等的總個數(shù),即為相識數(shù)組的個數(shù)摆碉。

代碼:

public:
vector<int> parent;

int findParent(int index)
{
    if (index == parent[index])
    {
        return index;
    }   

    return findParent(parent[index]);
}

bool IsSimilarGroups(const string& strF, const string&strS)
{
    if (strF.size() != strS.size())
    {
        return false;
    }

    if (strF == strS)
    {
        return true;
    }

    auto strSize = strF.size();
    size_t count = 0;
    for (size_t i = 0; i < strSize; i++)
    {
        if (strF[i] != strS[i])
        {
            count++;

            if (count > 2)
            {
                break;
            }
        }
    }

    if (count >2)
    {
        return false;
    }

    return true;
}


int numSimilarGroups(vector<string>& strs) {
    size_t strSize = strs.size();
    parent.resize(strSize);

    for (size_t i = 0; i < strSize; i++)
    {
        parent[i] = i;
    }

    for (size_t i = 0; i < strSize; i++)
    {
        for (size_t j = i + 1; j < strSize; j++)
        {
            int iIndex = findParent(i);
            int jIndex = findParent(j);
            if (iIndex != jIndex)
            {
                if (IsSimilarGroups(strs[i], strs[j]))
                {
                    parent[iIndex] = jIndex;
                }
            }
        }
    }

    int ret = 0;
    for (size_t i = 0; i < strSize; i++)
    {
        if (parent[i] == i)
        {
            ret++;
        }
    }

    return ret;
}

Review:閱讀并點評至少一篇英文技術(shù)文章

const T* ptr 和 T* const ptr的判斷

const是一個編程技術(shù)需要提升必須要熟知的一個知識點塘匣,永遠也不會過時

Tip:學習至少一個技術(shù)技巧

windows平臺下文件監(jiān)控的幾種方式:
1、ReadDirectoryChangesW : 增巷帝、刪忌卤、重命名
2、ChangeNotifyWatcher: 通過注冊窗口消息楞泼,當文件變更時驰徊,會回調(diào)消息到指定窗口
3、FindFirstChangeNotification:(為使用)

Share:分享一篇有觀點和思考的技術(shù)文章

const堕阔、enum棍厂、inline優(yōu)于#define
多多使用const
確定變量使用前首先進行初始化

重新閱讀 Effective C++,感觸會更加的深刻超陆,之后要細細梳理牺弹,爭取能夠以自己的理解寫出來
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市时呀,隨后出現(xiàn)的幾起案子张漂,更是在濱河造成了極大的恐慌,老刑警劉巖谨娜,帶你破解...
    沈念sama閱讀 218,755評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件航攒,死亡現(xiàn)場離奇詭異,居然都是意外死亡趴梢,警方通過查閱死者的電腦和手機漠畜,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,305評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來垢油,“玉大人盆驹,你說我怎么就攤上這事√渤睿” “怎么了躯喇?”我有些...
    開封第一講書人閱讀 165,138評論 0 355
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我廉丽,道長倦微,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,791評論 1 295
  • 正文 為了忘掉前任正压,我火速辦了婚禮欣福,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘焦履。我一直安慰自己拓劝,他們只是感情好,可當我...
    茶點故事閱讀 67,794評論 6 392
  • 文/花漫 我一把揭開白布嘉裤。 她就那樣靜靜地躺著郑临,像睡著了一般。 火紅的嫁衣襯著肌膚如雪屑宠。 梳的紋絲不亂的頭發(fā)上厢洞,一...
    開封第一講書人閱讀 51,631評論 1 305
  • 那天,我揣著相機與錄音典奉,去河邊找鬼躺翻。 笑死,一個胖子當著我的面吹牛卫玖,可吹牛的內(nèi)容都是我干的公你。 我是一名探鬼主播,決...
    沈念sama閱讀 40,362評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼骇笔,長吁一口氣:“原來是場噩夢啊……” “哼省店!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起笨触,我...
    開封第一講書人閱讀 39,264評論 0 276
  • 序言:老撾萬榮一對情侶失蹤懦傍,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后芦劣,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體粗俱,經(jīng)...
    沈念sama閱讀 45,724評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,900評論 3 336
  • 正文 我和宋清朗相戀三年虚吟,在試婚紗的時候發(fā)現(xiàn)自己被綠了寸认。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,040評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡串慰,死狀恐怖偏塞,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情邦鲫,我是刑警寧澤灸叼,帶...
    沈念sama閱讀 35,742評論 5 346
  • 正文 年R本政府宣布神汹,位于F島的核電站,受9級特大地震影響古今,放射性物質(zhì)發(fā)生泄漏屁魏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,364評論 3 330
  • 文/蒙蒙 一捉腥、第九天 我趴在偏房一處隱蔽的房頂上張望氓拼。 院中可真熱鬧,春花似錦抵碟、人聲如沸桃漾。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,944評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽呈队。三九已至,卻和暖如春唱歧,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背粒竖。 一陣腳步聲響...
    開封第一講書人閱讀 33,060評論 1 270
  • 我被黑心中介騙來泰國打工颅崩, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人蕊苗。 一個月前我還...
    沈念sama閱讀 48,247評論 3 371
  • 正文 我出身青樓沿后,卻偏偏與公主長得像,于是被迫代替她去往敵國和親朽砰。 傳聞我的和親對象是個殘疾皇子尖滚,可洞房花燭夜當晚...
    茶點故事閱讀 44,979評論 2 355

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