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

渭南做网站都有哪些国外酷网站

渭南做网站都有哪些,国外酷网站,如何创建一个平台型公司,网站建设企业战略目录 530.二叉搜索树的最小绝对差 数组法 双指针法 ⭐ 迭代法 501.二叉搜索树中的众数 双指针法 迭代法 530.二叉搜索树的最小绝对差 题目链接#xff1a;530. 二叉搜索树的最小绝对差 - 力扣#xff08;LeetCode#xff09; 文章讲解#xff1a;代码随想录 数组…目录 530.二叉搜索树的最小绝对差 数组法 双指针法 ⭐ 迭代法 501.二叉搜索树中的众数 双指针法 迭代法 530.二叉搜索树的最小绝对差 题目链接530. 二叉搜索树的最小绝对差 - 力扣LeetCode 文章讲解代码随想录 数组法 解题思路 把二叉搜索树转换成有序数组然后遍历一遍数组就统计出来最小差值了 代码一数组 class Solution { private: vectorint vec; void traversal(TreeNode* root) {if (root NULL) return;traversal(root-left);vec.push_back(root-val); // 将二叉搜索树转换为有序数组traversal(root-right); } public:int getMinimumDifference(TreeNode* root) {vec.clear();traversal(root);if (vec.size() 2) return 0;int result INT_MAX;for (int i 1; i vec.size(); i) { // 统计有序数组的最小差值result min(result, vec[i] - vec[i-1]);}return result;} }; 双指针法 ⭐ 解题思路 用一个pre节点记录一下cur节点的前一个节点。在二叉搜素树中序遍历的过程中直接计算。 代码注意 设置函数无返回值只进行遍历 代码一双指针 class Solution { private: int result INT_MAX; TreeNode* pre NULL; void traversal(TreeNode* cur) {if (cur NULL) return;traversal(cur-left); // 左if (pre ! NULL){ // 中result min(result, cur-val - pre-val);}pre cur; // 记录前一个traversal(cur-right); // 右 } public:int getMinimumDifference(TreeNode* root) {traversal(root);return result;} }; 迭代法 解题思路 用栈模拟中序遍历的迭代法 代码一中序 class Solution { public:int getMinimumDifference(TreeNode* root) {stackTreeNode* st;TreeNode* cur root;TreeNode* pre NULL;int result INT_MAX;while (cur ! NULL || !st.empty()) {if (cur ! NULL) { // 指针来访问节点访问到最底层st.push(cur); // 将访问的节点放进栈cur cur-left; // 左} else {cur st.top();st.pop();if (pre ! NULL) { // 中result min(result, cur-val - pre-val);}pre cur;cur cur-right; // 右}}return result;} }; 501.二叉搜索树中的众数 题目链接leetcode.cn 文章讲解programmercarl.com 双指针法 解题思路 一个指针指向前一个节点这样每次cur当前节点才能和pre前一个节点作比较。而且初始化的时候pre NULL这样当pre为NULL时候我们就知道这是比较的第一个元素。 解题步骤 中序遍历 最大频率统计 存入众数结果频率count 等于 maxCount最大频率当然要把这个元素加入到结果集中以下代码为result数组 结果更新频率count 大于 maxCount的时候不仅要更新maxCount而且要清空结果集以下代码为result数组因为结果集之前的元素都失效了。 代码注意 if (pre ! nullptr pre-val cur-val) 代码一双指针 class Solution { private:int maxCount 0; // 最大频率int count 0; // 统计频率TreeNode* pre NULL;vectorint result;void searchBST(TreeNode* cur) {if (cur NULL) return ;searchBST(cur-left); // 左// 中if (pre NULL) { // 第一个节点 // if (pre ! nullptr pre-val cur-val) {count 1;} else if (pre-val cur-val) { // 与前一个节点数值相同count;} else { // 与前一个节点数值不同count 1;}pre cur; // 更新上一个节点if (count maxCount) { // 如果和最大值相同放进result中result.push_back(cur-val);}if (count maxCount) { // 如果计数大于最大值频率maxCount count; // 更新最大频率result.clear(); // 很关键的一步不要忘记清空result之前result里的元素都失效了result.push_back(cur-val);}searchBST(cur-right); // 右return ;}public:vectorint findMode(TreeNode* root) {count 0;maxCount 0;pre NULL; // 记录前一个节点result.clear();searchBST(root);return result;} }; 迭代法 解题思路 把中序遍历转成迭代中间节点的处理逻辑完全一样。 代码一迭代 class Solution { public:vectorint findMode(TreeNode* root) {stackTreeNode* st;TreeNode* cur root;TreeNode* pre NULL;int maxCount 0; // 最大频率int count 0; // 统计频率vectorint result;while (cur ! NULL || !st.empty()) {if (cur ! NULL) { // 指针来访问节点访问到最底层st.push(cur); // 将访问的节点放进栈cur cur-left; // 左} else {cur st.top();st.pop(); // 中if (pre NULL) { // 第一个节点count 1;} else if (pre-val cur-val) { // 与前一个节点数值相同count;} else { // 与前一个节点数值不同count 1;}if (count maxCount) { // 如果和最大值相同放进result中result.push_back(cur-val);}if (count maxCount) { // 如果计数大于最大值频率maxCount count; // 更新最大频率result.clear(); // 很关键的一步不要忘记清空result之前result里的元素都失效了result.push_back(cur-val);}pre cur;cur cur-right; // 右}}return result;} }; 说明基于代码随想录课程学习部分内容引用代码随想录文章
http://www.hkea.cn/news/14442064/

相关文章:

  • 做网站为什么不要源代码wordpress交友模板
  • 怎么做钓鱼网站生成器网站开发团队组成
  • 对网站开发课程的建议现在去横琴会变黄码吗
  • 安顺建设工程造价管理网站新建的网站怎么上首页
  • 建站wordpress 基础广告代理商
  • 为什么要进行网站建设佛山最新通知今天
  • h5模板下载有哪些网站办公室装修合同范本
  • 几十万做网站平台惠州做棋牌网站建设哪家公司便宜
  • 江西建设监督网新网站网站 整体架构
  • 如何学习网站建设做网站的图片大全
  • 成都市自住房建设网站网站搜索框设计
  • 成都青羊区建设局网站深圳出台科技支持政策
  • 做网站前端后端ui什么意思网络会议系统国内十大品牌
  • 织梦网站如何做移动端用阿里巴巴做公司网站怎么样
  • 中企动力做网站怎么样cn域名做seo
  • 网站备案能查到什么东西镇江 网站
  • 网站怎么上线网站建设与seo
  • 企业做网站价格wordpress 倒计时广告
  • 网站建设联系我们上海 食品网站设计
  • 建站网址平台更改网站模板
  • 自建网站网址网站开发有前景吗
  • 做国外网站什么定位网站的引导页怎么做的
  • 谁用fun域名做网站了网站如何编辑
  • 做网站哪里的好优秀网页设计案例分析图文
  • 4k中国视频素材网站印尼建设银行网站
  • 中天建设第四网站网站开发界面设计
  • 同城网站开发文登 网站建设
  • 做直播的网站百度文库官网
  • 唐山高端品牌网站建设微信网站跳转链接怎么做
  • 酒泉做网站咨询聊城网站建设