午夜剧场伦理_日本一道高清_国产又黄又硬_91黄色网战_女同久久另类69精品国产_妹妹的朋友在线

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

javascript - python小算法

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

問題描述

有個日期字符串list,如下:

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

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

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

有沒有更好的實現(xiàn)方法??

問題解答

回答1:

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

回答2:

將日期通過去掉-轉(zhuǎn)換為整數(shù), 再分別與s中日期相減,得到絕對值最小的數(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:

感覺lz的意思是不要遍歷lst,不管是sort還是通減其實都發(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)文章:
主站蜘蛛池模板: 99久久久成人国产精品 | 成人免费公开视频 | 国产精品四虎 | 粉嫩在线观看 | 国产精品久久视频 | 成人欧美视频 | 伊人国产女 | 国语一区二区 | 欧美国产精品一区二区三区 | 日本一区二区三区在线观看视频 | 99久久精品免费视频 | 精品1区2区3区 | 日韩三区| 羞羞网站免费 | 日韩欧美无 | 亚洲情网 | 成人福利视频在线观看 | 亚洲综合伊人 | 色婷婷在线观看视频 | 69xx免费视频 | 欧美日韩国内 | 天天干在线播放 | 国产在视频线精品视频 | 日韩欧美黄 | 小罗莉极品一线天在线 | 久久精品黄色片 | 人成精品 | 美女视频久久 | 在线免费av网址 | 午夜爽爽 | 四虎少妇做爰免费视频网站四 | 国产三级午夜理伦三级 | 欧美人妖xxxx | 久久免费手机视频 | 国产wwwwww | 国产专区一 | 天天色天天综合 | 亚洲欧美高清 | 琪琪色在线观看 | 免费视频污 | 日韩精品久久久久 |