亚洲免费在线视频-亚洲啊v-久久免费精品视频-国产精品va-看片地址-成人在线视频网

您的位置:首頁技術文章
文章詳情頁

javascript - python小算法

瀏覽:115日期: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的值轉換為日期,遍歷比較相差的秒數,最小的就是要找的日期字符串。

有沒有更好的實現方法??

問題解答

回答1:

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

回答2:

將日期通過去掉-轉換為整數, 再分別與s中日期相減,得到絕對值最小的數為最相近的日期.

# 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還是通減其實都發生了遍歷應該用二分法吧,大概是這意思

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

就當偽碼看了,反正是這意思,這樣遍歷次數最少。

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 午夜一区二区福利视频在线 | 国产视频合集 | 成人免费看黄网址 | 最新国产一区二区精品久久 | 波多野结衣视频免费观看 | 亚洲成人在线视频播放 | 久久精品一品道久久精品9 久久精品一区 | 三及毛片 | 国产亚洲欧美另类久久久 | 亚洲在线偷拍自拍 | 国产一级做a爰片... | 操操综合网 | 特级做人爱c级特级aav毛片 | 一级做a爰片久久毛片美女 一级做a爰片久久毛片免费看 | 国产成人av性色在线影院 | 一区二区三区精品视频 | 国产精品自在线 | 久久综合精品视频 | 久久香蕉国产线看免费 | 欧美一级在线毛片免费观看 | 中日毛片 | 免费一级a毛片在线 | 欧美日本一道道一区二区三 | 国产在线精品观看 | 国产精品毛片 | 国产一在线| 在线播放亚洲美女视频网站 | 亚洲欧洲一区 | 精品区 | 国产一级黄色网 | 日本不卡在线一区二区三区视频 | 久久久国产精品免费看 | 免费一级视频在线播放 | www.黄色片网站 | 女让张开腿让男人桶视频 | 欧美午夜伦y4480私人影院 | 男女一级爽爽快视频 | 国产精品青草久久久久福利99 | 亚洲人妖女同在线播放 | 国产精品国产高清国产专区 | 成人欧美精品一区二区不卡 |