【算法筆記】日期差
題目描述
有兩個(gè)日期,求兩個(gè)日期之間的天數(shù),如果兩個(gè)日期是連續(xù)的我們規(guī)定他們之間的天數(shù)為兩天。
輸入
有多組數(shù)據(jù),每組數(shù)據(jù)有兩行,分別表示兩個(gè)日期,形式為YYYYMMDD
輸出
每組數(shù)據(jù)輸出一行,即日期差值
樣例輸入?Copy
20130101
20130105
樣例輸出?Copy
5
/*思路:首先,日期差肯定不能用兩個(gè)日期相減,既然不能用減法,那就用加法,從該日期一直把天數(shù)加一,直到相等為止。然后我們需要考慮平閏年的問題,閏年的定義是能被400整除或者能被4整除但是不能被100整除的年份稱為閏年。閏年和平年最大的差距就是2月份,一個(gè)是28天,一個(gè)是29天,而且計(jì)算日期查他的月份之間都是連續(xù)的,所以我們可以考慮用一個(gè)二維數(shù)組[13][2],里面裝著平年和閏年的天數(shù),為了方便,把月份對(duì)應(yīng)他們的下標(biāo)既{{0,0},{31,31}……,最后就是天數(shù)不斷累加,計(jì)數(shù)器cot也跟著累加,當(dāng)這個(gè)月滿了,月份+1,天變?yōu)?號(hào)。*/
標(biāo)簽: