程序员加班很晚应该怎么锻炼身体?
文章首发到公众号:月伴飞鱼,每天分享程序员职场经验!
大家好呀,我是飞鱼。
作为程序员,肯定都深受加班的痛苦。
❝
那每天加班很晚的情况下,该通过怎样的锻炼来保持身体健康呢?
我觉得还是得先把觉睡够,然后才是锻炼。
❝
睡眠不足情况下高强度锻炼,容易猝死。
如果睡觉的时间都不够,建议辞,换个不太卷的地方。
把特别卷的岗位,留给那些更年轻的,特别需要钱买房结婚的,拼几年,把生存问题解决掉之后,就不要再用命赚钱了。
人生几十年,钱是赚不完的,基本生活需求之外,多赚到的钱,对生活质量提升作用有限。

睡眠的优先级,不但高于锻炼,甚至高于洗脸洗澡。
❝
而且睡前三小时不要吃太多东西。
对于经常晚上加班很晚的人来说,戒掉睡觉前玩手机的不良习惯,尽量减少晚上的一切活动,争分夺秒地保证睡眠。
健身,足够的营养和休息,都比身体锻炼本身更重要。
❝
所以如果长期生活不规律,饮食习惯不好,休息睡眠不能保证。
如果已经很累了,就不要考虑上高强度的训练了,夸张一点有可能做个俯卧撑都有可能把人送进医院。
有位网友总结得好:
❝
去健身,你会得到强壮的身体,过度劳累,你会得到猝死的尸体,过度劳累还去健身,你会得到强壮的尸体。
所以:下班晚,好好休息就是你最好的健身!
程序员在工作空闲之余也可以通过以下方式来锻炼身体:
❝
通过走路或骑自行车的方式出门活动,可以锻炼身体的同时享受户外的新鲜空气。
在家里可以做一些简单的,如俯卧撑、仰卧起坐等,这些操作都可以锻炼身体的同时不需要太多的器材。
有啥其他看法,欢迎在评论区留言讨论。
❝
想看技术文章的,可以去我的个人网站:hardyfish.top/。
- 目前网站的内容足够应付基础面试(
 P6)了!
每日一题
题目描述
❝
给你一个二叉树的根节点
root, 检查它是否轴对称。
解题思路
❝
递归实现
递归结束条件:
- 都为空指针则返回
 true- 只有一个为空则返回
 false递归过程:
- 判断两个指针当前节点值是否相等
 - 判断 A 的右子树与 B 的左子树是否对称
 - 判断 A 的左子树与 B 的右子树是否对称
 
代码实现
Java代码:
 class Solution {
     public boolean isSymmetric(TreeNode root) {
         if(root == null) {
           return true;
         }
         return dfs(root.left,root.right);
     }
     public boolean dfs(TreeNode p,TreeNode q){
         if (p == null && q == null) {
           return true;
         } else if (p == null||q == null) {
           return false; //只有一个为空
         }
         if(p.val != q.val) {
           return false;
         }
         //第一棵子树的左子树和第二棵子树的右子树对称,且第一棵子树的右子树和第二棵子树的左子树对称
         return dfs(p.left,q.right) && dfs(p.right,q.left);
     }
 }
Python代码:
class Solution(object):
 def isSymmetric(self, root):
  """
  :type root: TreeNode
  :rtype: bool
  """
  if not root:
   return True
  def dfs(left,right):
   # 递归的终止条件是两个节点都为空
   # 或者两个节点中有一个为空
   # 或者两个节点的值不相等
   if not (left or right):
    return True
   if not (left and right):
    return False
   if left.val!=right.val:
    return False
   return dfs(left.left,right.right) and dfs(left.right,right.left)
  # 用递归函数,比较左节点,右节点
  return dfs(root.left,root.right)
Go代码:
func isSymmetric(root *TreeNode) bool {
 // 递归-对称二叉树
 var dfs func(left, right *TreeNode) bool
 dfs = func(left, right *TreeNode) bool {
  if left == nil && right == nil {
   return true
  }
  if left ==nil || right == nil || left.Val != right.Val {
   return false
  }
  // 左右子节点都存在且val等,递归其子树
  return dfs(left.Left, right.Right) && dfs(left.Right, right.Left)
 }
 return dfs(root.Left, root.Right)
}
复杂度分析
❝
假设树上一共
n个节点。时间复杂度:
- 这里遍历了这棵树,时间复杂度为
 O(n)。空间复杂度:
- 这里的空间复杂度和递归使用的栈空间有关,这里递归层数不超过
 n,故空间复杂度为O(n)。
来源:juejin.cn/post/7453489707109531702