别再熬夜了!程序员的身体和职业生涯都在报警!

1,144 阅读4分钟

文章首发到公众号:月伴飞鱼,每天分享程序员职场经验+科普AI知识!

资料分享

清华大学104页《DeepSeek:从入门到精通》:

大家好呀,我是飞鱼

在互联网行业待了几年,日常熬夜也成了一种习惯。

为了赶项目进度、修复Bug或是实现新的功能,加班熬夜是我们程序员的家常便饭。

白天的时候,时间几乎都是被工作占据。

开不完的会、思绪经常被不经意的打断的烦恼,那其余为数不多的时间,只得马不停蹄的写Bug,赶进度了。

所以真正想干点自己的事情:比如总结、思考、复盘一些工作上的事情、看书学习、写写个人技术博客等,只能放在晚上进行。

世卫组织在2007年就把熬夜列为2A级类致癌物质,经常熬夜容易引起发胖、高血压、糖尿病,甚至猝死。

熬夜会感觉每天都很累,做事情很难调动自己。

情绪一直处于比较低落的状态,很麻木。

反应迟钝,注意力和记忆力都有明显的下降。

心脏总跳的很快,会有细细麻麻的痛感,脱发严重。

下面分享几个多多少少有用的方法给还在熬夜的你,希望对你有帮助。

不把晚上当成工作时间,事情可以早起做,没必要晚上做(前提:做事方式的改变)。

给自己一个入睡过渡时间。

创造特定的入睡信号。

不要开着灯入睡(小夜灯也算)。

睡前半小时不碰电子设备。

白天不要睡太多。

如果躺在床上我就是睡不着咋整:

睡不着的时候别去想那些很快乐或者很痛苦的回忆,不然你会越来越兴奋。

如果不听书什么的那就想一想每天要吃什么干什么这种日常的问题。

把早睡、熬夜时间及身体反应可视化:

把每天睡觉的时间记录下来,能坚持一天我就能坚持一周,当你看见一周的早睡记录,应该会有动力继续。

再把这一周感受到的早睡的好处细致地写下来形成正反馈,比如:感觉人精神了之类的。

多看熬夜坏早睡好早睡重要的帖子:

就像很多人看着喝奶茶糖尿病、血液变色的帖子就会想着戒奶茶。

早睡不会失去任何东西,但熬夜会慢慢失去很多。

上面的方法学到就要用起来,不然只能在收藏夹吃灰,啥也不能改变。

希望在互联网拼搏的小伙伴们都能拥有良好的心态和健康的身体。

有啥其他看法,欢迎在评论区留言讨论。

想看技术文章的,可以去我的个人网站:hardyfish.top/

  • 目前网站的内容足够应付基础面试(P7)了!

每日一题

题目描述

给你一个整数 n ,返回 和为 n 的完全平方数的最少数量 。

完全平方数 是一个整数,其值等于另一个整数的平方。

换句话说,其值等于一个整数自乘的积。

例如,149 和 16 都是完全平方数,而 3 和 11 不是。

示例 1:

输入:n = 12
输出:3 
解释:12 = 4 + 4 + 4

示例 2:

输入:n = 13
输出:2
解释:13 = 4 + 9

解题思路

这道题主要考察BFS的使用,BFS再求最少步数或最少距离等类似问题上具有很大的优势。

代码实现

Java代码:

class Solution {
    //使用BFS层级遍历
    public int numSquares(int n) {
        //定义Queue集合存储每次产生的下一个数
        Queue<Integer> queue=new LinkedList<>();
        //定义Set集合存储遍历过的值
        Set<Integer> set=new HashSet<>();
        //将目标值存进queue中
        queue.offer(n);
        set.add(n);

        //定义层数也就是最少步数,BFS用来求最少距离等最nice
        int level=0;
        //使用while循环,进行层级遍历,知道队列为空
        while(!queue.isEmpty()){
            //循环一次 步数加1
            level++;
            //如果queue.size()直接放进for循环 次数会少一次
            int sz=queue.size();
            //每次需要对遍历的单独一层进行遍历
            for(int i=0;i<sz;i++){
                //将同一级的元素取出并把下一级产生的元素存储进去
                int cur=queue.poll();
                //j的值就相当于平方数1,4,9,16...
                for(int j=1;j*j<=cur;j++){
                    int nice=cur-j*j;
                    if(nice==0){
                        return level;
                    }
                    if(!set.contains(nice)){
                        queue.offer(nice);
                        set.add(nice);
                    }
                }

            }
        }
        return level;
    }
}