方法一:

    首先,我们需要考虑闰年的二月天数不同、大小月的天数不同

    1月 31天

    2月 28/29天

    3月 31天

    4月 30天

    5月 31天

    6月 30天

    7月 31天

    8月 31天

    9月 30天

    10月 31天

    11月 30天

    12月 31天

    我们可以多个思路

    1.我们将月份直接乘以30,再根据这个月之前出现了多少个大月,将大月多出的一天再加进去(乘31再减是一样的),这样没有使用循环,对时间复杂度会好一些;

    计算一个日期是当年的第几天 - 图1

    2.我们可以直接对大小月进行区分,用循环对月份进行一个计数器的更新,然后在 if 判断的时候直接区分大小月,再对天数进行一个累加,这样写比较符合直觉习惯,但是会牺牲一点时间复杂度;

    然后对月份进行一个计数器的累加;

    计算一个日期是当年的第几天 - 图2