Leetcode PHP题解--D122 1154. Day of the Year

码农天地 -
Leetcode PHP题解--D122 1154. Day of the Year
D122 1154. Day of the Year题目链接

1154. Day of the Year

题目分析

这道题目比较简单,给定YYYY-MM-DD格式的日期,返回这一天是这一年的第几天。

思路

首先要知道每个月的天数是不一样的,那么我们先把它存起来。

然后用array_slice获取当月之前的所有月份天数,并用array_sum函数计算总和。再加上DD部分即可。

需要注意的是,只有当待求月份大于2月时,才需要通过判断是否是闰年来加1天。如果待求月份为1月或2月时,不需要考虑闰年。

最终代码
<?php
class 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%,有提升空间。

若觉得本文章对你有用,欢迎用爱发电资助。

特别申明:本文内容来源网络,版权归原作者所有,如有侵权请立即与我们联系(cy198701067573@163.com),我们将及时处理。

php介绍

PHP即“超文本预处理器”,是一种通用开源脚本语言。PHP是在服务器端执行的脚本语言,与C语言类似,是常用的网站编程语言。PHP独特的语法混合了C、Java、Perl以及 PHP 自创的语法。利于学习,使用广泛,主要适用于Web开发领域。

Tags 标签

leetcodephp

扩展阅读

加个好友,技术交流

1628738909466805.jpg