当前位置: 首页 > news >正文

vps云主机可以做网站aso优化技巧大aso技巧

vps云主机可以做网站,aso优化技巧大aso技巧,建立一个网站用英语怎么说,网站开发与管理专业本文目录 738.单调递增的数字做题看文章 968.监控二叉树做题看文章 贪心算法总结以往忽略的知识点小结个人体会 738.单调递增的数字 代码随想录:738.单调递增的数字 Leetcode:738.单调递增的数字 做题 无思路。 看文章 例如:98&#xff…

本文目录

  • 738.单调递增的数字
    • 做题
    • 看文章
  • 968.监控二叉树
    • 做题
    • 看文章
  • 贪心算法总结
  • 以往忽略的知识点小结
  • 个人体会

738.单调递增的数字

代码随想录:738.单调递增的数字
Leetcode:738.单调递增的数字

做题

无思路。

看文章

例如:98,一旦出现strNum[i - 1] > strNum[i]的情况(非单调递增),首先让strNum[i - 1]–,然后strNum[i]给为9,这样这个整数就是89,即小于98的最大的单调递增整数。
贪心算法:如果由前往后遍历(由左往右),如果strNum[i - 1]减一了,可能又小于strNum[i - 2]。故应该由后往前(由由往左)遍历

class Solution:def monotoneIncreasingDigits(self, N: int) -> int:# 将整数转换为字符串strNum = list(str(N))# 从右往左遍历字符串for i in range(len(strNum) - 1, 0, -1):# 如果当前字符比前一个字符小,说明需要修改前一个字符if strNum[i - 1] > strNum[i]:strNum[i - 1] = str(int(strNum[i - 1]) - 1)  # 将前一个字符减1# 将修改位置后面的字符都设置为9,因为修改前一个字符可能破坏了递增性质strNum[i:] = '9' * (len(strNum) - i)# 将列表转换为字符串,并将字符串转换为整数并返回return int(''.join(strNum))

时间复杂度:O(n),n 为数字长度
空间复杂度:O(n),需要一个字符串,转化为字符串操作更方便

968.监控二叉树

代码随想录:968.监控二叉树
Leetcode:968.监控二叉树

做题

每隔一层放一个摄像头,同时记录两个方案(root放或不放),但只能通过一般的测试例。

看文章

从下往上看,局部最优:让叶子节点的父节点安摄像头,所用摄像头最少,整体最优:全部摄像头数量所用最少。
头结点放不放摄像头也就省下一个摄像头, 叶子节点放不放摄像头省下了的摄像头数量是指数阶别的。

后序遍历,并实时返回结点的状态,具体代码如下:

class Solution:# Greedy Algo:# 从下往上安装摄像头:跳过leaves这样安装数量最少,局部最优 -> 全局最优# 先给leaves的父节点安装,然后每隔两层节点安装一个摄像头,直到Head# 0: 该节点未覆盖# 1: 该节点有摄像头# 2: 该节点有覆盖def minCameraCover(self, root: TreeNode) -> int:# 定义递归函数result = [0]  # 用于记录摄像头的安装数量if self.traversal(root, result) == 0:result[0] += 1return result[0]def traversal(self, cur: TreeNode, result: List[int]) -> int:if not cur:return 2left = self.traversal(cur.left, result)right = self.traversal(cur.right, result)# 情况1: 左右节点都有覆盖if left == 2 and right == 2:return 0# 情况2:# left == 0 && right == 0 左右节点无覆盖# left == 1 && right == 0 左节点有摄像头,右节点无覆盖# left == 0 && right == 1 左节点无覆盖,右节点有摄像头# left == 0 && right == 2 左节点无覆盖,右节点覆盖# left == 2 && right == 0 左节点覆盖,右节点无覆盖if left == 0 or right == 0:result[0] += 1return 1# 情况3:# left == 1 && right == 2 左节点有摄像头,右节点有覆盖# left == 2 && right == 1 左节点有覆盖,右节点有摄像头# left == 1 && right == 1 左右节点都有摄像头if left == 1 or right == 1:return 2

时间复杂度: O(n),需要遍历二叉树上的每个节点
空间复杂度: O(n)

贪心算法总结

代码随想录:贪心算法总结

以往忽略的知识点小结

  • python进行list切片赋值时,要确保赋值的长度与被赋值的长度相同(即便是同一个赋值)

个人体会

完成时间:1h30min。
心得:贪心算法多想想。

http://www.fp688.cn/news/153531.html

相关文章:

  • 编程学校厦门百度关键词seo收费
  • 曲靖app制作公司石家庄百度seo代理
  • 微信红包网站制作seo网站推广全程实例
  • 网络营销的种类有哪些seo网页的基础知识
  • 有没有做羞羞的网站企拓客app骗局
  • 动易网站模板西seo优化排名
  • 网站上传限制免费创建个人网站
  • 河南卫健委最新发布疫情通知百度seo工具
  • 无锡做网站365caiyi百度会员登录入口
  • 五种类型网站seo免费视频教程
  • wordpress性能差怎样进行seo优化
  • 建站wordpress长沙全网覆盖的网络推广
  • 微网站设计企业seo免费培训视频
  • 四川网络推广平台山东网络推广优化排名
  • 网站注册人查询新闻发稿平台有哪些
  • 有关做粪污处理设备的企业网站保定百度推广联系电话
  • 网站编辑转做新媒体运营做网络推广怎么找客户
  • 装修平台接单骗局一个企业seo网站的优化流程
  • 义乌开锁做网站哪个好在线培训系统平台
  • wordpress 国家列表seo主要做哪些工作
  • 怎么主机安装wordpress河北网站seo
  • 阿里巴巴做轮播网站网站建设网站推广
  • 直销公司排名2020官网广州百度seo 网站推广
  • 网站优化排名方案宁波pc营销型网站制作
  • 别人怎么看见我做的网站百度营销登录平台
  • 网站建设 网站运营推广方案策略怎么写
  • 免费注册网站平台seo外包公司专家
  • 使wordpress没有手机页面长沙百度快速优化
  • 随州网站建设推荐hao123网址大全浏览器设为主页
  • 高端人才招聘网站找代写文章写手