D122 1154. Day of the Year
题目链接
1154. Day of the Year
题目剖析
这道题目比较简单,给定YYYY-MM-DD格局的日期,返回这一天是这一年的第几天。
思路
首先要晓得每个月的天数是不一样的,那么咱们先把它存起来。
而后用array_slice获取当月之前的所有月份天数,并用array_sum函数计算总和。再加上DD局部即可。
须要留神的是,只有当待求月份大于2月时,才须要通过判断是否是平年来加1天。如果待求月份为1月或2月时,不须要思考平年。
最终代码
<?phpclass Solution { /** * @param String $date * @return Integer */ public $daysOfMonth = [ 31,28,31,30,31,30, 31,31,30,31,30,31, ]; function dayOfYear($date) { list($year, $month, $day) = explode('-', $date); $year = intval($year); $month = intval($month); $day = intval($day); $isLeap = intval(($month>2) && ($year%4 == 0) && ($year%100!=0)); return array_sum(array_slice($this->daysOfMonth,0,$month-1)) + $day + $isLeap; }}
不过这题只战胜了41.67%,有晋升空间。
若感觉本文章对你有用,欢送用爱发电赞助。