美文网首页
leetcode.1185. 一周中的第几天

leetcode.1185. 一周中的第几天

作者: 沉睡中勿扰 | 来源:发表于2022-01-03 00:33 被阅读0次

    今天的题,leetcode上的。想起来之前遇到过这个问题,我的写法很简单,用的是系统提供的,怎么说呢?这是个数学问题。其实,大部分的算法,都涉及到数学问题。

      string dayOfTheWeek(int day, int month, int year) {
            vector<string> week = {"Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"};
            vector<int> monthDays = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30};
            int days = 365 * (year - 1971) + (year - 1969) / 4;
            for (int i = 0; i < month - 1; ++i) {
                days += monthDays[i];
            }
            if ((year % 400 == 0 || (year % 4 == 0 && year % 100 != 0)) && month >= 3) {
                days += 1;
            }
            days += day;
            return week[(days + 3) % 7];
        }
    

    怎么说呢,看看,都是数学问题,并不是程序本身的问题。不仅仅是靠编程就可以解决的,但是编程又是基础,依靠它,然后加上一些其他方向的原理,问题迎刃而解。

    ps:每天学点数学知识,读点相关内容,提升从一丢丢开始。

    相关文章

      网友评论

          本文标题:leetcode.1185. 一周中的第几天

          本文链接:https://www.haomeiwen.com/subject/ukatcrtx.html