注册

程序员加班很晚应该怎么锻炼身体?

作为程序员,肯定都深受加班的痛苦。



❝那每天加班很晚的情况下,该通过怎样的锻炼来保持身体健康呢?



我觉得还是得先把觉睡够,然后才是锻炼。



❝睡眠不足情况下高强度锻炼,容易猝死。


如果睡觉的时间都不够,建议辞,换个不太卷的地方。


把特别卷的岗位,留给那些更年轻的,特别需要钱买房结婚的,拼几年,把生存问题解决掉之后,就不要再用命赚钱了。


人生几十年,钱是赚不完的,基本生活需求之外,多赚到的钱,对生活质量提升作用有限。



图片


睡眠的优先级,不但高于锻炼,甚至高于洗脸洗澡。



❝而且睡前三小时不要吃太多东西。


对于经常晚上加班很晚的人来说,戒掉睡觉前玩手机的不良习惯,尽量减少晚上的一切活动,争分夺秒地保证睡眠。



健身,足够的营养和休息,都比身体锻炼本身更重要。



❝所以如果长期生活不规律,饮食习惯不好,休息睡眠不能保证。


如果已经很累了,就不要考虑上高强度的训练了,夸张一点有可能做个俯卧撑都有可能把人送进医院。



有位网友总结得好:



❝去健身,你会得到强壮的身体,过度劳累,你会得到猝死的尸体,过度劳累还去健身,你会得到强壮的尸体。



所以:下班晚,好好休息就是你最好的健身!


程序员在工作空闲之余也可以通过以下方式来锻炼身体:



❝通过走路或骑自行车的方式出门活动,可以锻炼身体的同时享受户外的新鲜空气。


在家里可以做一些简单的,如俯卧撑、仰卧起坐等,这些操作都可以锻炼身体的同时不需要太多的器材。





每日一题


题目描述




给你一个二叉树的根节点 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(leftright *TreeNode) bool
 dfs = func(leftright *TreeNode) bool {
  if left == nil && right == nil {
   return true
  }
  if left ==nil || right == nil || left.Val != right.Val {
   return false
  }
  // 左右子节点都存在且val等,递归其子树
  return dfs(left.Leftright.Right) && dfs(left.Rightright.Left)
 }
 return dfs(root.Left, root.Right)
}

复杂度分析



❝假设树上一共 n 个节点。


时间复杂度:



  • 这里遍历了这棵树,时间复杂度为 O(n)

空间复杂度:



  • 这里的空间复杂度和递归使用的栈空间有关,这里递归层数不超过 n,故空间复杂度为 O(n)


作者:程序员飞鱼
来源:juejin.cn/post/7453489707109531702

0 个评论

要回复文章请先登录注册