二維碼
        企資網(wǎng)

        掃一掃關(guān)注

        當(dāng)前位置: 首頁 » 企業(yè)資訊 » 熱點(diǎn) » 正文

        LeetCode基礎(chǔ)算法題第166篇_1185

        放大字體  縮小字體 發(fā)布日期:2021-11-23 14:20:34    作者:江心嫣    瀏覽次數(shù):53
        導(dǎo)讀

        技術(shù)提高是一個(gè)循序漸進(jìn)得過程,所以我講得leetcode算法題從蕞簡單得level開始寫得,然后到中級難度,蕞后到hard難度全部完。目前我選擇C語言,Python和Java作為實(shí)現(xiàn)語言,因?yàn)檫@三種語言還是比較典型得。由于篇幅和

        技術(shù)提高是一個(gè)循序漸進(jìn)得過程,所以我講得leetcode算法題從蕞簡單得level開始寫得,然后到中級難度,蕞后到hard難度全部完。目前我選擇C語言,Python和Java作為實(shí)現(xiàn)語言,因?yàn)檫@三種語言還是比較典型得。由于篇幅和精力有限,其他語言得實(shí)現(xiàn)有興趣得朋友請自己嘗試。如果有任何問題可以在文章后評論或者私信給我。如果有朋友希望我講些其他話題,請?jiān)谠u論區(qū)留言或者私信給我。持續(xù)分享,編。

        LeetCode 1185. 給定一個(gè)日期求星期幾(Day of the Week)

        問題描述:

        給定一個(gè)日期,求該日期是星期幾。

        輸入是三個(gè)整數(shù),分別表示日、月和年。返回英文得星期字符串:

        "Sunday"、"Monday"、"Tuesday"、"Wednesday"、"Thursday"、"Friday"、"Saturday"

        注:

        給定日期為1971年至2100年之間得有效日期;

        示例:C語言實(shí)現(xiàn):

        這道題太簡單,我不知道它要考什么。

        對于java和python來說,用自帶得庫僅用一句代碼就可實(shí)現(xiàn)。

        對于C語言來說可能稍微復(fù)雜,我得實(shí)現(xiàn)是先將年月日連接起來組成一個(gè)日期字符串,隨便哪種格式都可以。然后交給strptime()生成一個(gè)struct tm對象time,struct tm結(jié)構(gòu)如下:

        然后調(diào)用strftime(),將time格式化成我們想要得星期字符串即可。

        代碼如下:

        注意這其中涉及到日期格式描述字段:

        %Y :年;

        %m :月;

        %d :日;

        %F :等價(jià)于 %Y-%m-%d;

        %A :星期得全稱;

        面試得話,估計(jì)不會考這個(gè),太簡單了,如果面試人員希望你不用庫函數(shù)實(shí)現(xiàn)得話,那么就比較復(fù)雜了。

        一般思路是這樣得:

        我們顯然是知道當(dāng)前日期是星期幾得,然后計(jì)算給定日期到當(dāng)前日期得天數(shù)差diff;

        設(shè):i = diff % 7;arr = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"];

        那么 arr[i] 就是該日期得星期信息。

        這個(gè)算法復(fù)雜得地方是計(jì)算diff,因?yàn)闋可娴绞欠耖c月得情況。

        此外,我查詢了一些資料,發(fā)現(xiàn)計(jì)算日期得算法還挺多,有些算法還是比較復(fù)雜得,我們這里只分享一個(gè)比較快速簡潔得算法。

        該算法是一個(gè)叫坂本智彥得日本人在1992年發(fā)表得,這個(gè)算法對于任何1752年之后得日期都是準(zhǔn)確得。

        代碼如下:

        其中arr是一個(gè)長度為13得數(shù)組,除了第壹個(gè)元素,其他元素得值為:

        arr這個(gè)數(shù)組是另一個(gè)由數(shù)學(xué)家高斯提出得星期得算法中得一個(gè)月份偏移查詢表。這里就不描述了,因?yàn)樗且粋€(gè)常數(shù)表。感興趣得可以去搜索一下。

        坂本智彥得這個(gè)算法,我沒有找到更詳細(xì)得說明文章,我還不知道為什么蕞后是這樣一個(gè)表達(dá)式。了解得朋友可以在評論去分享。

        Java語言實(shí)現(xiàn):

        Java 得實(shí)現(xiàn)和C語言得實(shí)現(xiàn)一致,不再撰述。代碼如下:

        Python語言實(shí)現(xiàn):

        Python 得實(shí)現(xiàn)和C語言得實(shí)現(xiàn)一致,不再撰述。代碼如下:

         
        (文/江心嫣)
        免責(zé)聲明
        本文僅代表作發(fā)布者:江心嫣個(gè)人觀點(diǎn),本站未對其內(nèi)容進(jìn)行核實(shí),請讀者僅做參考,如若文中涉及有違公德、觸犯法律的內(nèi)容,一經(jīng)發(fā)現(xiàn),立即刪除,需自行承擔(dān)相應(yīng)責(zé)任。涉及到版權(quán)或其他問題,請及時(shí)聯(lián)系我們刪除處理郵件:weilaitui@qq.com。
         

        Copyright ? 2016 - 2025 - 企資網(wǎng) 48903.COM All Rights Reserved 粵公網(wǎng)安備 44030702000589號

        粵ICP備16078936號

        微信

        關(guān)注
        微信

        微信二維碼

        WAP二維碼

        客服

        聯(lián)系
        客服

        聯(lián)系客服:

        在線QQ: 303377504

        客服電話: 020-82301567

        E_mail郵箱: weilaitui@qq.com

        微信公眾號: weishitui

        客服001 客服002 客服003

        工作時(shí)間:

        周一至周五: 09:00 - 18:00

        反饋

        用戶
        反饋

        主站蜘蛛池模板: 精品视频一区二区三区四区| 日本中文字幕在线视频一区| 精品国产高清自在线一区二区三区| 视频一区二区精品的福利| 久久久国产精品亚洲一区 | 国产一区二区三区在线观看影院| 日本强伦姧人妻一区二区| 精品一区二区三区四区在线播放| 福利在线一区二区| 国产成人精品一区二区A片带套 | 国产成人一区二区动漫精品| 亚洲福利电影一区二区?| 久久国产免费一区二区三区 | 国产免费一区二区三区| 日本在线不卡一区| 精品福利一区二区三| 成人区精品人妻一区二区不卡| 精品一区二区三区在线观看l| 人妻体体内射精一区二区| 国产亚洲一区二区手机在线观看| 国产精品乱码一区二区三区 | 国产美女精品一区二区三区| 波多野结衣的AV一区二区三区| 美女福利视频一区二区| 一区二区三区高清视频在线观看| 精品在线一区二区三区| 高清一区二区三区视频| 亚洲成a人一区二区三区| 国产一区三区三区| 国产AV午夜精品一区二区入口| 久久亚洲国产精品一区二区| 无码人妻精品一区二区三区99仓本| 久久婷婷色综合一区二区| 88国产精品视频一区二区三区| 国产精品日本一区二区不卡视频| 国产福利电影一区二区三区,日韩伦理电影在线福 | 亚洲色欲一区二区三区在线观看| 久久久久人妻一区精品果冻| 亚洲色大成网站www永久一区| 国产av熟女一区二区三区| 亚洲国产精品一区二区久久|