Leetcode百題整理:Find Anagram Mappings & Hamming Distance

Find Anagram Mappings

Given two lists Aand B, and B is an anagram of A. B is an anagram of A means B is made by randomizing the order of the elements in A.
We want to find an index mapping P, from A to B. A mapping P[i] = j means the ith element in A appears in B at index j.

一刷:Python

python list內置了index函數猜敢,可以直接返回所包含元素的坐標,因此提交如下代碼:

class Solution(object):
    def anagramMappings(self, A, B):
        """
        :type A: List[int]
        :type B: List[int]
        :rtype: List[int]
        """
        
        ans = []
        
        for item in A:
            ans.append(B.index(item))
            
        return ans

此方法可簡寫為一行代碼如下:

return [B.index(a) for a in A]

提交后通過.

查閱discussion早龟,有人已然給出此方法的復雜度分析為o(N^2), 不是最優(yōu),在discussion中找到如下幾種方法:

方法一:作者lee215

先將listA遍歷一遍,建立一個字典記錄每個元素以及index的數值:

def anagramMappings(self, A, B):
        d = {b:i for i,b in enumerate(B)}
        return [d[a] for a in A]

方法二:作者weidairpi
使用defaultdict:

from collections import defaultdict
class Solution(object):
    def anagramMappings(self, A, B):
        """
        :type A: List[int]
        :type B: List[int]
        :rtype: List[int]
        """
        pool=defaultdict(list)
        for i,b in enumerate(B): pool[b].append(i)
        return [pool[a].pop() for a in A]

Hamming Distance

考察二進制

一刷:C++(后補)

二刷:python

python將數字轉化為二進制的方法有:

format(int,'b')
bin(int)

轉化為二進制后取異或運算,記錄字符中‘1’的個數

class Solution(object):
    def hammingDistance(self, x, y):
        """
        :type x: int
        :type y: int
        :rtype: int
        """
        
        return format(x^y,'b').count('1')
?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末点弯,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子矿咕,更是在濱河造成了極大的恐慌抢肛,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,635評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件碳柱,死亡現場離奇詭異捡絮,居然都是意外死亡,警方通過查閱死者的電腦和手機莲镣,發(fā)現死者居然都...
    沈念sama閱讀 94,543評論 3 399
  • 文/潘曉璐 我一進店門福稳,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人瑞侮,你說我怎么就攤上這事的圆。” “怎么了半火?”我有些...
    開封第一講書人閱讀 168,083評論 0 360
  • 文/不壞的土叔 我叫張陵越妈,是天一觀的道長。 經常有香客問我钮糖,道長梅掠,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,640評論 1 296
  • 正文 為了忘掉前任藐鹤,我火速辦了婚禮瓤檐,結果婚禮上,老公的妹妹穿的比我還像新娘娱节。我一直安慰自己挠蛉,他們只是感情好,可當我...
    茶點故事閱讀 68,640評論 6 397
  • 文/花漫 我一把揭開白布肄满。 她就那樣靜靜地躺著谴古,像睡著了一般质涛。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上掰担,一...
    開封第一講書人閱讀 52,262評論 1 308
  • 那天汇陆,我揣著相機與錄音,去河邊找鬼带饱。 笑死毡代,一個胖子當著我的面吹牛,可吹牛的內容都是我干的勺疼。 我是一名探鬼主播教寂,決...
    沈念sama閱讀 40,833評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼执庐!你這毒婦竟也來了酪耕?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 39,736評論 0 276
  • 序言:老撾萬榮一對情侶失蹤轨淌,失蹤者是張志新(化名)和其女友劉穎迂烁,沒想到半個月后,有當地人在樹林里發(fā)現了一具尸體递鹉,經...
    沈念sama閱讀 46,280評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡盟步,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 38,369評論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現自己被綠了梳虽。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片址芯。...
    茶點故事閱讀 40,503評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖窜觉,靈堂內的尸體忽然破棺而出谷炸,到底是詐尸還是另有隱情,我是刑警寧澤禀挫,帶...
    沈念sama閱讀 36,185評論 5 350
  • 正文 年R本政府宣布旬陡,位于F島的核電站,受9級特大地震影響语婴,放射性物質發(fā)生泄漏描孟。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,870評論 3 333
  • 文/蒙蒙 一砰左、第九天 我趴在偏房一處隱蔽的房頂上張望匿醒。 院中可真熱鬧,春花似錦缠导、人聲如沸廉羔。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,340評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽憋他。三九已至孩饼,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間竹挡,已是汗流浹背镀娶。 一陣腳步聲響...
    開封第一講書人閱讀 33,460評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留揪罕,地道東北人梯码。 一個月前我還...
    沈念sama閱讀 48,909評論 3 376
  • 正文 我出身青樓,卻偏偏與公主長得像耸序,于是被迫代替她去往敵國和親忍些。 傳聞我的和親對象是個殘疾皇子鲁猩,可洞房花燭夜當晚...
    茶點故事閱讀 45,512評論 2 359

推薦閱讀更多精彩內容

  • 今年7月-10月坎怪,中消協針對北京衛(wèi)視、天津衛(wèi)視等33家衛(wèi)視的購物欄目及中視購物廓握、央廣購物等12家專業(yè)購物頻道搅窿,開展...
    東方簡書閱讀 414評論 0 0
  • Alembic中容器的層級關系 上面說了,下面繼續(xù) 層級是Alembic的核心概念隙券,并反映在容器的結構上男应。為了此章...
    N景波閱讀 1,189評論 0 1
  • 我做了一個夢,是那樣令人向往的一個夢娱仔。 夢里我到了那個自己一直向往和渴望的地方沐飘。 那兒,所有的熱情被燃起牲迫。 每一個...
    趙英俊的小英俊閱讀 450評論 0 0
  • 一個月后耐朴,他卸下纏繞在眼部的厚厚紗布,從醫(yī)院里走出來盹憎。他像獲得新生的嬰兒筛峭,再一次張開眼睛看見世界。綠色的樹陪每,紅色的...
    作家明至閱讀 276評論 0 1
  • 愛的藝術 瓦爾登湖 如何高效閱讀一本書 復活
    行可2019閱讀 117評論 0 0