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

网站推广费用怎么做分录哈密网站制作公司

网站推广费用怎么做分录,哈密网站制作公司,怎么看一个网站用什么语言做的,济南微网站开发个人主页#xff1a;元清加油_【C】,【C语言】,【数据结构与算法】-CSDN博客 http://t.csdnimg.cn/ZxuNL个人专栏#xff1a;力扣递归算法题 http://t.csdnimg.cn/ZxuNL 【C】 http://t.csdnimg.cn/c9twt 前言#xff1a;这个专栏主要讲述递归递归、搜索与回溯算法#x…个人主页元清加油_【C】,【C语言】,【数据结构与算法】-CSDN博客 http://t.csdnimg.cn/ZxuNL个人专栏力扣递归算法题 http://t.csdnimg.cn/ZxuNL 【C】  http://t.csdnimg.cn/c9twt 前言这个专栏主要讲述递归递归、搜索与回溯算法所以下面题目主要也是这些算法做的   我讲述题目会把讲解部分分为3个部分 1、题目解析 2、算法原理思路讲解 3、代码实现 注意这道题目涉及到二叉搜索树的内容 若有不懂的可以参考下面这篇文章  数据结构二叉搜索树-CSDN博客 验证二叉搜索树 题目链接验证二叉搜索树 题目 给你一个二叉树的根节点 root 判断其是否是一个有效的二叉搜索树。 有效 二叉搜索树定义如下 节点的左子树只包含 小于 当前节点的数。节点的右子树只包含 大于 当前节点的数。所有左子树和右子树自身必须也是二叉搜索树。 示例 1 输入root [2,1,3] 输出true示例 2 输入root [5,1,4,null,null,3,6] 输出false 解释根节点的值是 5 但是右子节点的值是 4 。提示 树中节点数目范围在[1, 104] 内-231 Node.val 231 - 1 解法 题目解析 题目没什么好说的就是给我们一颗二叉树判断它是否为二叉搜索树 二叉搜索树有如下特性 若它的左子树不为空则左子树上所有节点的值都小于根节点的值若它的右子树不为空则右子树上所有节点的值都大于根节点的值它的左右子树也分别为二叉搜索树 算法原理思路讲解    解法一 依靠二叉搜索树的特性中序遍历为有序 思路创建一个全局变量 v 中序遍历整个二叉树然后再判断 v 是否有序即可 解法二 解法一虽然也可以通过但是我们没有必要连续插入 思路 因此我们可以初始化⼀个⽆穷⼩的全区变量⽤来记录中序遍历过程中的前驱结点。那么就可以在 中序遍历的过程中先判断是否和前驱结点构成递增序列然后修改前驱结点为当前结点传⼊下⼀层的递归中。 算法流程 初始化⼀个全局的变量 prev⽤来记录中序遍历过程中的前驱结点的 val 中序遍历的递归函数中 1设置递归出⼝root nullptr 的时候返回 true 2先递归判断左⼦树是否是⼆叉搜索树⽤ left 标记 3然后判断当前结点是否满⾜⼆叉搜索树的性质⽤ cur 标记                 1如果当前结点的 val ⼤于 prev说明满⾜条件cur 改为 true                 2如果当前结点的 val ⼩于等于 prev说明不满⾜条件cur 改为 false 4最后递归判断右⼦树是否是⼆叉搜索树⽤ right 标记 只有当 left、 cur 和 right 都是 true 的时候才返回 true。 以上思路就讲解完了大家可以先自己先做一下  代码实现 解法一 时间复杂度O(n)其中 n 为二叉树的节点个数。二叉树的每个节点最多被访问一次因此时间复杂度为 O(n)。空间复杂度O(n)其中 n 为二叉树的节点个数。vector最多存储 n 个节点因此需要额外的 O(n) 的空间。 /*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode() : val(0), left(nullptr), right(nullptr) {}* TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}* TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}* };*/ class Solution { public:vectorint v;void dfs(TreeNode* root){if (root nullptr){return;}dfs(root-left);v.push_back(root-val);dfs(root-right);}bool isValidBST(TreeNode* root) {bool flag true;dfs(root);for (int i 1; i v.size(); i){if (v[i-1] v[i]){flag false;}}return flag;} }; 解法二 时间复杂度O(n)其中 n 为二叉树的节点个数。在递归调用的时候二叉树的每个节点最多被访问一次因此时间复杂度为 O(n)。空间复杂度O(n)其中 n 为二叉树的节点个数。递归函数在递归过程中需要为每一层递归函数分配栈空间所以这里需要额外的空间且该空间取决于递归的深度即二叉树的高度。最坏情况下二叉树为一条链树的高度为 n 递归最深达到 n 层故最坏情况下空间复杂度为 O(n) 。 /*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode() : val(0), left(nullptr), right(nullptr) {}* TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}* TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}* };*/ class Solution {long prev LONG_MIN; public:bool isValidBST(TreeNode* root) {if(root nullptr) return true;bool left isValidBST(root-left);// 剪枝可以不用理会若想知道自行了解if(left false) return false; // 去掉也可以通过bool cur false;if(root-val prev)cur true;// 剪枝可以不用理会若想知道自行了解if(cur false) return false;prev root-val;bool right isValidBST(root-right);return left right cur;} };
http://www.w-s-a.com/news/852162/

相关文章:

  • 手机网站 多html中国建设银行网站包头分行
  • 哪个网站做免费广告好招牌图片效果图设计制作
  • 网站建设优化服务机构苏州市做网站
  • 网站如何优化流程企业网站管理系统视频教程
  • 我想克隆个网站 怎么做贵州住房和城乡建设厅官网
  • 网站建设项目前景上海今天新闻综合频道
  • 做网站推销的如何谈客户wordpress怎么做商城
  • 摄影素材库网站服装页面设计的网站
  • 如何用国外网站做头条做个游戏app的费用大概多少
  • 网站 形象入口页福州网站建设网络公司排名
  • 免费下载教学设计的网站送网站建设管理信息内容审核制度
  • 外贸专业网站的公司百度旗下13个app
  • 物理组简介 网站建设高师院校语言类课程体系改革与建设 教学成果奖申报网站
  • 爱网站无法登录怎么回事手表网
  • 网站建设公司现在还挣钱吗山西手动网站建设推荐平台
  • 重庆建设工程交易信息网站网站制作公司起名
  • 东莞寮步做网站的有吗企业宣传册制作
  • 做网站的软件是哪个上蔡做网站
  • 前后端分离实现网站开发紧急通知网页升级
  • 河北专业网站建设公司推荐佛山小程序开发平台
  • 网站开发强制开启浏览器极速模式建设网站有什么风险
  • 360全景网站建设常州专业网站建设公司咨询
  • 重庆大渡口网站建设网站增加一体化建设功能的好处
  • 网站开发完整视频网站上传 404
  • 自适应网站做推广北京建设工程招标网
  • 外贸网站设计注意事项网上商城官网入口
  • 正规的营销型网站建设公司微官网是网站吗
  • 南京行业门户网站无锡阿里巴巴做网站
  • 河北省和城乡住房建设厅网站wamp wordpress打不开
  • 在哪个平台做网站比较好自动app优化