筆試題 | 數(shù)據(jù)挖掘崗位 | 數(shù)據(jù)結(jié)構(gòu)誊役、數(shù)據(jù)處理

這段時間琳钉,在北京游蕩了好幾圈蛛倦,黑了3層皮,做了好幾家的筆試題及皂,我將整理分享出來且改,以供大家求職找工作參考。

寫這篇文章前又跛,發(fā)生了這樣的一段對話,只是為了擼串的交易

擼串的故事

周末擼串吃什么味的好呢感混?要好好砍他一頓(陰笑臉)礼烈。好了,開始正文下面的內(nèi)容此熬。

第一題 兩數(shù)的和

Given an array of integers, find two numbers such that they add up to a specific target number.The function twoSum should return indices of the two numbers such that they addup to the target, where index1 must be less than index2. Please note that your returned answers (both index1 and index2) are not zero-based.You may assume that each input would have exactly one solution.Input: numbers={2, 7, 11, 15}, target=9 Output: index1=1, index2=2

題目解讀:

給定一個數(shù)組,找出兩個數(shù)的和等于給定的目標(biāo)值募谎,返回兩個數(shù)的下標(biāo)
第一個數(shù)的下標(biāo)比第二個數(shù)的小
方案唯一:只存在一個解滿足和等于target
下標(biāo)計數(shù)不是從0開始
思路一:暴力法
對所有的元素遍歷,將滿足條件的打印出來驮审。這種方法的復(fù)雜度高吉执,適合小數(shù)組。圖解如下:

這里寫圖片描述

試著來用python實(shí)現(xiàn)下:

# -*- coding: utf-8 -*-
def twoSum(value,target):
    if ((value == None) or (len(value) < 2)):
        return ("zeros or length is too small")
    else:
        lena = len(value)
        for i in range(lena):
            for j in range(i+1,lena):
                if value[i] + value[j] == target:
                    print ("the two number are %d and  %d ,the index are %d and %d " % (value[i],value[j],i,j))

if __name__ == "__main__":
    a = [2,7,6,1]
    target = 9
    print (twoSum(a,target))

還能不能調(diào)整下代碼呢熙掺?優(yōu)化代碼咕宿,減少復(fù)雜度呢?我想了想府阀,要是原數(shù)組是排好序的該多好啊,那就不容易多了董瞻。

思路二 :排序法

這里寫圖片描述

嘿嘿田巴,說干就干,來把它實(shí)現(xiàn)下壹哺。代碼如下:

# -*- coding: utf-8 -*-
res = []
def sum_two_1(a,target):
    if (len(a) < 2):
        return (0)
    a1 =sorted(a)
    i=0;j=len(a1)-1;k=0;
    while(i<j):
        if (a1[i]+a1[j] == target):
            k=k+1
            res.append([a1[i],a1[j],a.index(a1[i])+1,a.index(a1[j])+1])
            i = i + 1
            j = j -1
        elif(a1[i]+a1[j] > target):
            j = j -1
        else:
            i = i +1
    return(res)

if __name__ == "__main__":
    a = [1,8,3,5]
    print(sum_two_1(a,int(4)))

好了管宵,就先這兩種方案。你看到?jīng)]箩朴?其實(shí)這兩種方案可以解決多個解的問題喲。不信啊沈堡,你擼下代碼試試看燕雁。

第二題 時間數(shù)據(jù)處理

這里寫圖片描述

題目:以上為百度新聞的?幾個新聞檢索結(jié)果鲸拥,對應(yīng)的新聞發(fā)布時間形式各不不相同僧免,請編程對以上時間數(shù)據(jù)格式進(jìn)?行行轉(zhuǎn)換處理理,使其輸出格式為標(biāo)準(zhǔn)的”yyyy-MM-dd HH:mm:ss”格式

題目解讀:

1懂衩、需要處理的數(shù)據(jù)

  • xx秒前、xx分鐘前牵敷、xx小時前
  • 統(tǒng)一格式:轉(zhuǎn)換為yyyy-MM-dd HH:mm:ss

2法希、不一致的數(shù)據(jù)處理

將xx秒前等數(shù)據(jù)與xx年xx月xx日 xx:xx數(shù)據(jù)處理成格式一致的
分析:
1、先判斷是否有前字存在苫亦,再來判斷是秒、分鐘润匙、時中哪一種情況唉匾,之后將獲取的數(shù)字(字符格式)轉(zhuǎn)為數(shù)值格式,最后使用datetime包肄鸽,利用當(dāng)前的時間來反向推出時間油啤。代碼如下:

if i[-1] == '前':
    a = i.split("前")[0]
    if a[-1] == '秒':
        b = now - timedelta(seconds=int(a[:-1]))
        data.append(b.strftime("%Y-%m-%d %H:%M:%S"))
    if a[-2:] == '分鐘':
        b = now - timedelta(minutes=int(a[:-2]))
        data.append(b.strftime("%Y-%m-%d %H:%M:%S"))
    if a[-2:] == '小時':
        b = now - timedelta(minutes=int(a[:-2]))
        data.append(b.strftime("%Y-%m-%d %H:%M:%S"))

2、做格式轉(zhuǎn)換逮诲,將當(dāng)前的時間格式轉(zhuǎn)為我們預(yù)定的格式即可幽告,這里仍是用到datetime包。發(fā)現(xiàn)了沒有冗锁,原數(shù)據(jù)是沒有秒級時間的,所以需要加上去箍邮。代碼如下:

time_str1 = i + ":00"
time = datetime.strptime(time_str1, '%Y年%m月%d日 %H:%M:%S')
data.append(time.strftime("%Y-%m-%d %H:%M:%S"))

你對兩類情況都做了分析,還寫了代碼锭弊,是否可靠呢?要不拉出來跑一跑結(jié)果味滞,怎么樣?哼昨凡,誰怕誰呢攒暇?來上代碼:

# -*- coding: utf-8 -*-
from datetime import datetime
from datetime import timedelta
def date_deal1(time_str):
    now = datetime.now()
    data = []
    for i in time_str:
        if i[-1] == '前':
            a = i.split("前")[0]
            if a[-1] == '秒':
                b = now - timedelta(seconds = int(a[:-1]))
                data.append(b.strftime("%Y-%m-%d %H:%M:%S"))
            if a[-2:] == '分鐘':
                b = now - timedelta(minutes = int(a[:-2]))
                data.append(b.strftime("%Y-%m-%d %H:%M:%S"))
            if a[-2:] == '小時':
                b = now - timedelta(minutes = int(a[:-2]))
                data.append(b.strftime("%Y-%m-%d %H:%M:%S"))
        else:
            time_str1 = i + ":00"
            time = datetime.strptime(time_str1, '%Y年%m月%d日 %H:%M:%S')
            data.append(time.strftime("%Y-%m-%d %H:%M:%S"))
    return data

if __name__ == "__main__":
    time_str = ['2017年07月16日 21:00','6分鐘前','20小時前','6秒前']
    print (date_deal1(time_str))

測試結(jié)果

['2017-07-16 21:00:00', '2017-07-24 17:08:05', '2017-07-24 16:54:05', '2017-07-24 17:13:59']
你看,是不是很符合要求啊就轧。歡迎指正不足點(diǎn)田度,謝謝!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末乎莉,一起剝皮案震驚了整個濱河市奸笤,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌监右,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,126評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件绒瘦,死亡現(xiàn)場離奇詭異扣癣,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)父虑,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,254評論 2 382
  • 文/潘曉璐 我一進(jìn)店門士嚎,熙熙樓的掌柜王于貴愁眉苦臉地迎上來呜魄,“玉大人,你說我怎么就攤上這事骄蝇〔俾猓” “怎么了?”我有些...
    開封第一講書人閱讀 152,445評論 0 341
  • 文/不壞的土叔 我叫張陵岔激,是天一觀的道長是掰。 經(jīng)常有香客問我,道長键痛,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,185評論 1 278
  • 正文 為了忘掉前任江兢,我火速辦了婚禮丁频,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘席里。我一直安慰自己,他們只是感情好奖磁,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,178評論 5 371
  • 文/花漫 我一把揭開白布署穗。 她就那樣靜靜地躺著嵌洼,像睡著了一般。 火紅的嫁衣襯著肌膚如雪麻养。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 48,970評論 1 284
  • 那天备畦,我揣著相機(jī)與錄音,去河邊找鬼懂盐。 笑死,一個胖子當(dāng)著我的面吹牛拌喉,可吹牛的內(nèi)容都是我干的俐银。 我是一名探鬼主播尿背,決...
    沈念sama閱讀 38,276評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼田藐,長吁一口氣:“原來是場噩夢啊……” “哼吱七!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起踊餐,我...
    開封第一講書人閱讀 36,927評論 0 259
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎啡直,沒想到半個月后苍碟,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,400評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡舷丹,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,883評論 2 323
  • 正文 我和宋清朗相戀三年蜓肆,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片仗扬。...
    茶點(diǎn)故事閱讀 37,997評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡早芭,死狀恐怖彼城,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情调炬,我是刑警寧澤舱馅,帶...
    沈念sama閱讀 33,646評論 4 322
  • 正文 年R本政府宣布,位于F島的核電站代嗤,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏武翎。R本人自食惡果不足惜溶锭,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,213評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望趴捅。 院中可真熱鬧,春花似錦综芥、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,204評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至吧恃,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間傲醉,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,423評論 1 260
  • 我被黑心中介騙來泰國打工硬毕, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留筷凤,地道東北人。 一個月前我還...
    沈念sama閱讀 45,423評論 2 352
  • 正文 我出身青樓挪丢,卻偏偏與公主長得像卢厂,于是被迫代替她去往敵國和親乾蓬。 傳聞我的和親對象是個殘疾皇子慎恒,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,722評論 2 345

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

  • http://192.168.136.131/sqlmap/mysql/get_int.php?id=1 當(dāng)給sq...
    xuningbo閱讀 10,256評論 2 22
  • sqlmap用戶手冊 說明:本文為轉(zhuǎn)載融柬,對原文中一些明顯的拼寫錯誤進(jìn)行修正,并標(biāo)注對自己有用的信息越除。 ======...
    wind_飄閱讀 2,033評論 0 5
  • 1.OC里用到集合類是什么外盯? 基本類型為:NSArray,NSSet以及NSDictionary 可變類型為:NS...
    輕皺眉頭淺憂思閱讀 1,359評論 0 3
  • 國家電網(wǎng)公司企業(yè)標(biāo)準(zhǔn)(Q/GDW)- 面向?qū)ο蟮挠秒娦畔?shù)據(jù)交換協(xié)議 - 報批稿:20170802 前言: 排版 ...
    庭說閱讀 10,868評論 6 13
  • 簡介 用簡單的話來定義tcpdump孩擂,就是:dump the traffic on a network箱熬,根據(jù)使用者...
    保川閱讀 5,941評論 1 13