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

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

javascript - python小算法

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

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

問題解答

回答1:

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

回答2:

將日期通過去掉-轉換為整數(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ā)生了遍歷應該用二分法吧,大概是這意思

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

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

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 亚洲最大网站在线 | 午夜福利国产一级毛片 | 在线私拍国产福利精品 | 一级做人爱a视频正版免费 一级做性色a爱片久久片 | 国产亚洲精品免费 | 69性欧美| 久久免费精品国产72精品剧情 | 蜜桃日本一道无卡不码高清 | 久久久久国产精品免费免费 | 青青热久久国产久精品秒播 | 成年网站在线 | 欧美中文在线 | 久久久久久免费播放一级毛片 | 日韩免费一级毛片 | 9999久久| 91精品乱码一区二区三区 | 在线观看国产区 | 成人午夜两性视频免费看 | 成人毛片免费视频 | 欧美精品首页 | 91国在线高清视频 | 成人精品视频在线观看播放 | 国产精品高清视亚洲精品 | 久久99亚洲网美利坚合众国 | 一级风流片a级国产 | 97精品国产91久久久久久 | 韩国精品一区二区三区在线观看 | 免费高清不卡毛片在线看 | 日本全黄 | 性猛交毛片 | 国产日韩线路一线路二 | 国产精品自在自线亚洲 | 亚洲欧洲精品国产二码 | 青青草国产免费国产是公开 | 中文字幕免费 | 久久精品久久久久 | 久久久久一区二区三区 | 一级毛片在线完整免费观看 | 成人区视频| 欧美国产成人一区二区三区 | 97国产成人精品免费视频 |