代码随想录训练营Day37贪心算法Part6|738.单调递增的数字|968.监控二叉树|总结

738.单调递增的数字

  • 还是思路的问题,不能用纯数学的思路去考虑
  • Carl:从后往前遍历,当后一个数字大于等于前一个数字时,不操作,当后一个数字小于前一个数字时,令前一位数字–,后面所有的数字变为9
  • 还有函数string strNum = to_string(n); //将int数字n转为string
  • int n = stoi(strNum); //将string字符串转为int类型数字
  • 以上两个函数,要记得使用,不要傻傻的子集写了
  • 也不用每次都把后面的所有数字都变9,因为可能要变9好几次,就会费事,只需要记录变成9的起始位置就好,节省时间

968.监控二叉树

  • 从叶子节点开始思考往上安装摄像头,首先满足叶子节点(因为多)
  • 注意每个节点的状态,无覆盖,有摄像头,有覆盖,划分好几种状态的具体情况。

总结

  • 简单题
  • 找数列中局部峰值的数,局部最大数、局部最小数
  • 买股票题,找每日最优
  • 两个维度权衡题,两个维度一次遍历满足
  • 跳跃游戏和重叠区间问题

你可能感兴趣的:(贪心算法,数据结构,算法,c++,leetcode)