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

申请网站就是做网站吗建设网站排名

申请网站就是做网站吗,建设网站排名,百度蜘蛛抓取新网站,重庆网站模板平台建设968.监控二叉树 给定一个二叉树#xff0c;我们在树的节点上安装摄像头。 节点上的每个摄影头都可以监视其父对象、自身及其直接子对象。 计算监控树的所有节点所需的最小摄像头数量。 示例 1#xff1a; 输入#xff1a;[0,0,null,0,0] 输出#xff1a;1 解释#xff…968.监控二叉树 给定一个二叉树我们在树的节点上安装摄像头。 节点上的每个摄影头都可以监视其父对象、自身及其直接子对象。 计算监控树的所有节点所需的最小摄像头数量。 示例 1 输入[0,0,null,0,0] 输出1 解释如图所示一台摄像头足以监控所有节点。示例 2 输入[0,0,null,0,null,0,null,null,0] 输出2 解释需要至少两个摄像头来监视树的所有节点。 上图显示了摄像头放置的有效位置之一。提示 给定树的节点数的范围是 [1, 1000]。每个节点的值都是 0。 思路 想半天想不出来然后去看了各路大神的题解对比之下发现官方题解的说法完全是在冒充人类。 首先我们先要确定从二叉树的下面往上看为什么不自顶向下呢因为头节点放不放摄像头也就省下一个摄像头但是叶子节点放不放摄像头省下的是指数级的摄像头。 那么从下往上看我们首先想到的是二叉树的后序遍历法左-右-中所以本题我们使用递归法来解。 并且如果要达成局部最优的话我们一定是在叶子节点的父节点安装摄像头让所用摄像头最少达成全局最优。 所以大体思路就是从低向上遍历二叉树先给叶子节点父节点放摄像头然后隔两个节点放一个摄像头直到到根节点。 但是怎样隔两个节点放一个摄像头呢此时我们就需要状态转移的公式来记录每个节点的状态。每个节点可能有三种状态 0该节点无覆盖 1该节点有摄像头 2该节点有覆盖 空节点一律视为有覆盖的情况因为若把空节点视为无覆盖那么空节点的父节点——叶子节点就必须放置一个摄像头这与本意冲突若把空节点视为有摄像头那么叶子节点就为有覆盖那么隔两个节点才会放一个摄像头实际上没有监控到叶子节点所以空节点只能视为有覆盖。 那么对于每个节点的处理逻辑我们可以分为四类情况 1、左右节点都有覆盖该节点一定无覆盖 2、左右节点至少有一个无覆盖该节点一定放摄像头 3、左右节点至少有一个摄像头该节点一定有覆盖 4、头节点无覆盖头节点再加一个摄像头。 代码 class Solution {int res0;public int minCameraCover(TreeNode root) {return dfs(root)0?res1:res;}private int dfs(TreeNode node){if(nodenull){return 2;}int leftdfs(node.left);int rightdfs(node.right);if(left0||right0){res;return 1;}if(left1||right1){return 2;}return 0;}} 灵茶山艾府的思路我没理解二刷的时候再研究。 509.斐波那契数 斐波那契数 通常用 F(n) 表示形成的序列称为 斐波那契数列 。该数列由 0 和 1 开始后面的每一项数字都是前面两项数字的和。也就是 F(0) 0F(1)  1 F(n) F(n - 1) F(n - 2)其中 n 1给定 n 请计算 F(n) 。 示例 1 输入n 2 输出1 解释F(2) F(1) F(0) 1 0 1示例 2 输入n 3 输出2 解释F(3) F(2) F(1) 1 1 2示例 3 输入n 4 输出3 解释F(4) F(3) F(2) 2 1 3提示 0 n 30 思路 经典递归解法 class Solution {public int fib(int n) {if(n1){return 1;}else if(n0){return 0;}else {return fib(n-1)fib(n-2);}}} dp解法 确定dp数组含义 dp[i]的定义为第i个数的斐波那契数值为dp[i] 递推公式dp[i] dp[i - 1] dp[i - 2]; 初始化dp[0]0,dp[1]1 代码 class Solution {public int fib(int n) {if (n 1) return n; int[] dp new int[n 1];dp[0] 0;dp[1] 1;for (int index 2; index n; index){dp[index] dp[index - 1] dp[index - 2];}return dp[n];} } 空间复杂度可以进一步优化因为不用维护整个dp数组 class Solution {public int fib(int n) {if (n 2) return n;int a 0, b 1, c 0;for (int i 1; i n; i) {c a b;a b;b c;}return c;} }
http://www.w-s-a.com/news/362114/

相关文章:

  • 最便宜的网站空间网站建设和app开发
  • 承装承修承试材料在哪个网站做如何用虚拟主机建设网站
  • 如何建一个外贸网站网页设计零基础学习课程
  • 营销型外贸网站广州昆明建设网站制作
  • 网页制作网站素材项目建设全过程管理
  • 正能量网站下载柬埔寨网赌网站开发
  • 如何免费建设公司网站广州传业建设有限公司网站
  • 织梦做的网站快照被攻击张家口网站建设公司
  • 平顶山公司网站建设南昌网站seo多少钱
  • 网站开发要先买服务器吗建设婚恋网站用什么搭建
  • 我想自己在网站上发文章 怎样做wordpress站点安装
  • 北京模板网站开发全包昆明网站开发正规培训
  • 西咸新区建设环保网站谷歌风格wordpress
  • 嘉兴港区建设局网站2018年网站开发
  • 网站里图片做超链接专业开发网站报价单
  • server2003网站建设做销售记住这十句口诀
  • microsoft免费网站网站后台登陆路径
  • 贵州住房和城乡建设局网站做网站排名费用多少钱
  • 现在个人做网站还能盈利吗xampp用wordpress
  • 做网站 租服务器温岭建设公司网站
  • 四川住房和城乡建设厅网站官网做网站最贵
  • 右玉网站建设四川林峰脉建设工程有限公司网站
  • 网站推广小助手杭州百度百家号seo优化排名
  • 怎么做网站搜索框搜索网站备案拍照背景幕布
  • 建设部网站城市规划资质标准伊春网络推广
  • 如何设计酒店网站建设深圳市房地产信息系统平台
  • 伍佰亿网站怎么样网站建设前台后台设计
  • 做整装的网站北京哪个网站制作公司
  • 建设赚钱的网站福州便民生活网
  • 咸阳网站设计建设公司小程序打包成app