亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

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

javascript - python小算法

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

問題描述

有個(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ù),最小的就是要找的日期字符串。

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

問題解答

回答1:

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

回答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還是通減其實(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)文章:
主站蜘蛛池模板: 狠狠综合欧美综合欧美色 | 亚洲乱码中文字幕久久 | 婷婷第四色 | 国产精品美女在线观看 | 免费的色视频 | 久久这里只有精品免费看青草 | 国产h视频 | 午夜一级毛片 | 日本一级毛片免费播 | 美女被免费网站视频九色 | 男女一级毛片免费视频看 | 91福利国产在线观一区二区 | 国产淫语对白在线视频 | 精品欧美成人高清视频在线观看 | 欧美特黄三级在线观看 | 一级黄色美女 | 亚洲综合18p | 视频在线一区二区 | 国产成人一区二区三区视频免费蜜 | 久久黄色免费 | 婷婷777| 成人a级特黄毛片 | 亚洲精品91在线 | 色综合久久久久 | h网站国产 | 日本亚洲欧美国产日韩ay高清 | 青青草社区 | 久青草国产手机视频免费观看 | 日韩天天摸天天澡天天爽视频 | 国产精品成aⅴ人片在线观看 | 91草草| 欧美一级淫片漂亮的老师 | 欧美精品亚洲精品日韩专区 | 亚洲国产精品一区二区三区在线观看 | 亚洲码在线中文在线观看 | 国产精品久久久久久五月尺 | 91成人国产 | 国产免费资源高清小视频在线观看 | 国产成人精品综合久久久软件 | 精品999视频| 九九热中文字幕 |