国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

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

javascript - python小算法

瀏覽:94日期: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 編程
相關文章:
主站蜘蛛池模板: 美女一级视频 | 日本加勒比视频在线观看 | 亚洲在线一区二区三区 | 久草视频福利 | 久久久久亚洲精品影视 | 日韩影院久久 | 日韩免费一级a毛片在线播放一级 | 成人三级在线播放线观看 | 国产精品一级香蕉一区 | 91精品国产一区二区三区四区 | 禁止18周岁进入免费网站观看 | 亚洲精品国产福利一区二区三区 | 精品理论片一区二区三区 | 亚洲欧美国产精品久久久 | 免费99热在线观看 | 国产碰碰 | 日韩一级精品久久久久 | 国产精品久久免费观看 | 韩国三级日本三级香港三级黄 | 一级视频在线免费观看 | 国产日韩视频在线观看 | 九九九九九九精品免费 | 欧美全免费aaaaaa特黄在线 | 另类视频一区 | 国产亚洲精品一品区99热 | 中文字幕在线不卡 | 免费看欧美一级特黄a毛片 免费看片aⅴ免费大片 | 亚洲欧美人妖另类激情综合区 | 亚洲欧美精品一区天堂久久 | 视频在线观看一区 | avhd101天天看新片 | 成人免费看www网址入口 | 国产成人亚洲毛片 | 国产三级一区二区 | 成在线人视频免费视频 | 久久视精品 | 九七在线视频 | 国产美女午夜精品福利视频 | 欧美成人看片一区二区三区 | 国产在线精品香蕉综合网一区 | 欧美一区二区三区视频在线观看 |