色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

javascript - python小算法

瀏覽:101日期:2022-06-28 13:17:04

問(wèn)題描述

有個(gè)日期字符串list,如下:

lst = [’2017-06-01’, ’2017-06-08’, ’2017-06-15’, ’2017-06-22’, ’2017-06-29’, ...]

求s = [’2017-06-09’]與lst中哪個(gè)日期字符串最相近

思路1:將s和lst的值轉(zhuǎn)換為日期,遍歷比較相差的秒數(shù),最小的就是要找的日期字符串。

有沒(méi)有更好的實(shí)現(xiàn)方法??

問(wèn)題解答

回答1:

我給個(gè)思路給你參考下lst.append(s)lst.sort()num=lst.index(s)然后比較lst[num-1]和lst[num+1]這兩個(gè)相差的秒數(shù),小的一個(gè)就是結(jié)果,這樣就不用遍歷算時(shí)間戳了。覺(jué)得不錯(cuò)就給贊加采納吧。

回答2:

將日期通過(guò)去掉-轉(zhuǎn)換為整數(shù), 再分別與s中日期相減,得到絕對(duì)值最小的數(shù)為最相近的日期.

# Python codelst = [’2017-06-01’, ’2017-06-08’, ’2017-06-15’, ’2017-06-22’, ’2017-06-29’]s = [’2017-06-09’]date = [’’.join(x.split(’-’)) for x in lst]datetoint = [int(x) for x in date]gaps = [abs(x - int(’’.join(s[0].split(’-’)))) for x in datetoint]mostrecentdate = lst[gaps.index(min(gaps))]print(mostrecentdate)回答3:

感覺(jué)lz的意思是不要遍歷lst,不管是sort還是通減其實(shí)都發(fā)生了遍歷應(yīng)該用二分法吧,大概是這意思

i = 0j = len(list)while True: index = (i + j) / 2 if s > lst[index]:i = index else:j = index continue

就當(dāng)偽碼看了,反正是這意思,這樣遍歷次數(shù)最少。

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 一本久久道 | 亚洲欧美日韩在线线精品 | 男人亚洲天堂 | a级精品九九九大片免费看 a级毛片免费观看网站 | 久久中文字幕久久久久91 | 九九视频高清视频免费观看 | 黄色片亚洲| 在线视频亚洲欧美 | 日本在线视频不卡 | 亚洲精品国产综合久久一线 | 欧美精品一区二区三区免费观看 | 久久男人天堂 | 精品国产欧美另类一区 | 国产成人三级经典中文 | 精品国产免费第一区二区 | 午夜精品久久久久久99热7777 | 成人免费久久精品国产片久久影院 | 国产黄色片在线免费观看 | 国产亚洲精品一区二区 | 99热久久国产综合精品久久国产 | 成人无遮挡毛片免费看 | 黄色片免费网址 | 国产精品亚洲一区二区三区在线观看 | 免费播放欧美毛片 | 国产成人综合久久精品红 | 欧洲亚洲综合一区二区三区 | 美女网站色免费 | 一区二区中文字幕亚洲精品 | 日韩在线欧美 | 波多野结衣在线观看一区 | 日韩精品综合 | 国产精品亚洲专区在线播放 | 天天干夜夜玩 | 男人女人做刺激视频免费 | 在线观看国产日韩 | 国产成人精品曰本亚洲 | 日本a级片免费看 | 欧美精品一二三区 | 深夜福利视频在线观看免费视频 | 极品精品国产超清自在线观看 | 午夜伦4480yy妇女久久久 |