數(shù)美科技研發(fā)筆試題

請選擇盡可能高效的算法,算法復(fù)雜度(大O表示法)比最優(yōu)解高的話啄清,得一半分。
前三題答案(拿到offer)
題目一.文件input.txt是一個文本文件,每一行有多列(用空格分隔)辣卒。keyword.conf是一個關(guān)鍵詞配置文件掷贾,每一行是一個詞。請找出文件input.txt中第一列包含keyword.conf中任意一個關(guān)鍵詞的文本行并輸出荣茫。(25)

示例

輸入:

文件input.txt內(nèi)容:

abc xxx

bcd xxx

def xxx

xyz xxx

文件keyword.conf內(nèi)容:

bc

eft

輸出(打印到標(biāo)準(zhǔn)輸出):

abc xxx

bcd xxx

題目二****. input.txt中有10萬個隨機整數(shù)想帅,每行一個,范圍從0-99999啡莉,需要分別統(tǒng)計[0-99]港准、[100-199]、[200-299]咧欣、[300-399] …… [99900, 99999]浅缸,出現(xiàn)的次數(shù)。輸出為每個范圍及其中數(shù)字出現(xiàn)的次數(shù)魄咕,范圍和數(shù)字間空格分隔衩椒,每行一個。(20)

示例:

輸入文件input.txt:

123

12

5

123

輸出(打印到標(biāo)準(zhǔn)輸出):

0-99 26

100-199 128

200-299 3

題目三****. 在對域名進(jìn)行分析中哮兰,常常會碰到“主域歸屬”問題毛萌。首先,我們有一個主域列表喝滞,如下所示:

*.sports.sina.com.cn

*.sina.com.cn

*.baidu.com

*.tencent.com

*.com

*.cn

等等,這個列表可能會包含百萬級別的配置右遭。

在有這個配置的前提下做盅,給定一個域名言蛇,比如roll.sports.sina.com.cn,希望能夠找到它所匹配的最長的“主域”宵距,比如腊尚,對于上面這個域名,應(yīng)該匹配到*.sports.這個主域满哪。

請實現(xiàn)一個程序婿斥,從配置文件domain.txt讀取主域列表,每行一個哨鸭;從標(biāo)準(zhǔn)輸入讀取需要匹配的域名民宿,每行一個;向標(biāo)準(zhǔn)輸出打酉窦Α:需要匹配的域名\t它匹配到的最長主域活鹰。注意,請盡可能高效,使用正則匹配會非常慢志群。

題目四****.給定如下設(shè)備數(shù)據(jù)文件input.txt着绷,其中每行一條記錄,空格分隔锌云。一行記錄包含3個字段:設(shè)備ID荠医、連接的wifimac、時間戳桑涎。輸入文件是一個設(shè)備一段時間范圍內(nèi)連接過的wifimac的列表(設(shè)備ID都一樣)彬向,請計算每個設(shè)備連接過的wifimac的熵莺禁。

熵的計算方法:對于一個長度為n的序列xs谷饿,它包含m+1中不同的取值,s0, s1, …, sm呀狼,這些取值對應(yīng)的出現(xiàn)概率分別是p0, p1, …,pm讲衫,則這個序列的熵為H(X) = -(p0log2(p0) + p1log2(p1) + … + pm*log2(pm)). 其中缕棵,某個取值出現(xiàn)的概率p的計算方法為:這個取值出現(xiàn)的次數(shù) 除以 長度n。

示例:

輸入input.txt:

deviceId1 wifimac1 t1

deviceId1 wifimac2 t2

deviceId1 wifimac3 t3

deviceId1 wifimac3 t4

輸出:

devicId1, 1.5

熵的計算過程:

deviceId1活躍4次涉兽,

wifimac1 出現(xiàn)1次 wifimac1 概率:0.25

wifimac2 出現(xiàn)1次wifimac2 概率:0.25

wifimac3 出現(xiàn)2次 wifimac3 概率:0.5

deviceId1下wifimac熵值:-0.25log2(0.25)- 0.25log2(0.25)- 0.5*log2(0.5)

題目五****. 輸入兩個JSON對象招驴,第二個JSON對象是第一個JSON對象的類型描述(schema),請寫代碼檢查第一個對象(數(shù)據(jù)對象)是否滿足第二個對象定義的類型要求枷畏。例如别厘,

對于JSON對象:

{

“organization”:”shumei”,

“type”: “tech”,

“features”:{

 “timestamp”: 1558031759,

     “cities”:[“BeiJing”,”ShangHai”,“ShenZhen”],

     “apps”:[{“name”:”TianWang”, “date”:”2018-01”},

{“name”:”TianJing”, “date”:”2016-01”}]

}

}

的類型描述是:

{

    "organization":"string",

    "type":"string",

    "features":{

        "timestamp":"long",

        "cities":["string"],

        "apps":[{"name":"string", "date":"string"}]

    }

}

說明:假設(shè)在我們簡化的類型系統(tǒng)中拥诡,僅支持以下類型 1. 基礎(chǔ)類型:字符串(string)触趴,整數(shù)(long)

  1. 復(fù)合類型:數(shù)組([]),對象({})

請寫代碼實現(xiàn)函數(shù)

boolean type_check(const json &data, const json &schema);

如果data滿足schema的類型要求渴肉,返回true冗懦,否則返回false

注:可以使用你熟悉的一個json庫,也可以假設(shè)json對象支持如下操作:

  1. obj[name]: 如果obj是個復(fù)合json對象仇祭,返回這個對象中名字叫name的字段值(也是json)

  2. obj.has(name):如果obj是個復(fù)合json對象披蕉,返回名字name是否是該對象的一個成員名

  3. obj[i]:如果obj是個json數(shù)組,返回這個數(shù)組中下標(biāo)為 i的元素乌奇。

  4. obj.size():如果obj是個json數(shù)組没讲,返回該數(shù)組的大小

  5. obj.type(): 返回當(dāng)前json對象(原子對象或者復(fù)合對象)的類型,可能返回值“string”礁苗、“l(fā)ong”爬凑、“object”、“array”试伙。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末嘁信,一起剝皮案震驚了整個濱河市于样,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌潘靖,老刑警劉巖百宇,帶你破解...
    沈念sama閱讀 211,123評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異秘豹,居然都是意外死亡,警方通過查閱死者的電腦和手機昌粤,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,031評論 2 384
  • 文/潘曉璐 我一進(jìn)店門既绕,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人涮坐,你說我怎么就攤上這事凄贩。” “怎么了袱讹?”我有些...
    開封第一講書人閱讀 156,723評論 0 345
  • 文/不壞的土叔 我叫張陵疲扎,是天一觀的道長。 經(jīng)常有香客問我捷雕,道長椒丧,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,357評論 1 283
  • 正文 為了忘掉前任救巷,我火速辦了婚禮壶熏,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘浦译。我一直安慰自己棒假,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 65,412評論 5 384
  • 文/花漫 我一把揭開白布精盅。 她就那樣靜靜地躺著帽哑,像睡著了一般。 火紅的嫁衣襯著肌膚如雪叹俏。 梳的紋絲不亂的頭發(fā)上妻枕,一...
    開封第一講書人閱讀 49,760評論 1 289
  • 那天,我揣著相機與錄音她肯,去河邊找鬼佳头。 笑死,一個胖子當(dāng)著我的面吹牛晴氨,可吹牛的內(nèi)容都是我干的康嘉。 我是一名探鬼主播,決...
    沈念sama閱讀 38,904評論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼籽前,長吁一口氣:“原來是場噩夢啊……” “哼亭珍!你這毒婦竟也來了敷钾?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,672評論 0 266
  • 序言:老撾萬榮一對情侶失蹤肄梨,失蹤者是張志新(化名)和其女友劉穎阻荒,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體众羡,經(jīng)...
    沈念sama閱讀 44,118評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡侨赡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,456評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了粱侣。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片羊壹。...
    茶點故事閱讀 38,599評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖齐婴,靈堂內(nèi)的尸體忽然破棺而出油猫,到底是詐尸還是另有隱情,我是刑警寧澤柠偶,帶...
    沈念sama閱讀 34,264評論 4 328
  • 正文 年R本政府宣布情妖,位于F島的核電站,受9級特大地震影響诱担,放射性物質(zhì)發(fā)生泄漏毡证。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,857評論 3 312
  • 文/蒙蒙 一蔫仙、第九天 我趴在偏房一處隱蔽的房頂上張望情竹。 院中可真熱鬧,春花似錦匀哄、人聲如沸秦效。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,731評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽阱州。三九已至,卻和暖如春法梯,著一層夾襖步出監(jiān)牢的瞬間苔货,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,956評論 1 264
  • 我被黑心中介騙來泰國打工立哑, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留夜惭,地道東北人。 一個月前我還...
    沈念sama閱讀 46,286評論 2 360
  • 正文 我出身青樓铛绰,卻偏偏與公主長得像诈茧,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子捂掰,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,465評論 2 348

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