中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當前位置: 首頁 > news >正文

如何做視頻網(wǎng)站不侵權電子商務平臺有哪些

如何做視頻網(wǎng)站不侵權,電子商務平臺有哪些,網(wǎng)站建設部署視頻,湖南房地產(chǎn)加盟網(wǎng)站建設目錄 一、669. 修剪二叉搜索樹 二、108. 將有序數(shù)組轉(zhuǎn)換為二叉搜索樹 三、538. 把二叉搜索樹轉(zhuǎn)換為累加樹 一、669. 修剪二叉搜索樹 題目鏈接:力扣 文章講解:代碼隨想錄 視頻講解: 你修剪的方式不對,我來給你糾正一下&#…

目錄

一、669. 修剪二叉搜索樹

二、108. 將有序數(shù)組轉(zhuǎn)換為二叉搜索樹

三、538. 把二叉搜索樹轉(zhuǎn)換為累加樹

一、669. 修剪二叉搜索樹

題目鏈接:力扣

文章講解:代碼隨想錄

視頻講解: 你修剪的方式不對,我來給你糾正一下!| LeetCode:669. 修剪二叉搜索樹

題目:

給你二叉搜索樹的根節(jié)點 root ,同時給定最小邊界low 和最大邊界 high。通過修剪二叉搜索樹,使得所有節(jié)點的值在[low, high]中。修剪樹 不應該?改變保留在樹中的元素的相對結(jié)構 (即,如果沒有被移除,原有的父代子代關系都應當保留)。 可以證明,存在?唯一的答案?。

所以結(jié)果應當返回修剪好的二叉搜索樹的新的根節(jié)點。注意,根節(jié)點可能會根據(jù)給定的邊界發(fā)生改變。

代碼:

/*** 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:/*TreeNode* trimBST(TreeNode* root, int low, int high) {//沒有很好的利用搜索樹左小右大的特性if (!root) return root;root->left = trimBST(root->left, low, high);root->right = trimBST(root->right, low, high);if (root->val < low || root->val > high){if (!root->left) return root->right;else if (!root->right) return root->left;else{TreeNode* new_node = root->left;while(new_node->right) new_node = new_node->right;new_node->right = root->right;root = root->left;}}return root;//遞歸法if(!root) return NULL;if(root->val < low)     return trimBST(root->right, low, high);if(root->val > high)    return trimBST(root->left, low, high);root->left = trimBST(root->left, low, high);root->right = trimBST(root->right, low, high);return root;}*///遞歸法TreeNode* trimBST(TreeNode* root, int low, int high) {if (!root) return nullptr;//將根節(jié)點移到合理范圍內(nèi)while (root && (root->val < low || root->val > high))if (root->val < low) root = root->right;else root = root->left;TreeNode *node = root;// 處理左子樹,處理左子樹的過程中,合理繼續(xù)向左(node的右子樹一定合理),不合理就向右(node的左子樹一定不合理)if(!root) return NULL;for (;node->left;) if(node->left->val < low) node->left = node->left->right;else node = node->left;// 處理右子樹,處理右子樹的過程中,合理繼續(xù)向右(node的左子樹一定合理),不合理就向左(node的右子樹一定不合理)for (node = root;node->right;)if (node->right->val > high)node->right = node->right->left;else node = node->right;return root;}
};

時間復雜度: O(n)????????????????????????????????????????空間復雜度: O(1)

?:9:13

總結(jié):1.考慮二叉搜索樹特性,如果root結(jié)點不符合條件,那么左右子樹有一個必不符合條件,另一個可能存在不符合條件的結(jié)點。

? ? ? ? ? ?2.不考慮特性,則要刪除root結(jié)點,則需要參考二叉樹刪除結(jié)點的方法。

二、108. 將有序數(shù)組轉(zhuǎn)換為二叉搜索樹

題目鏈接:力扣

文章講解:代碼隨想錄

視頻講解:構造平衡二叉搜索樹!| LeetCode:108.將有序數(shù)組轉(zhuǎn)換為二叉搜索樹

題目:給你一個整數(shù)數(shù)組 nums ,其中元素已經(jīng)按 升序 排列,請你將其轉(zhuǎn)換為一棵 高度平衡 二叉搜索樹。
高度平衡 二叉樹是一棵滿足「每個節(jié)點的左右兩個子樹的高度差的絕對值不超過 1 」的二叉樹。

代碼:

/*** 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:TreeNode* bulid(vector<int>& nums, int begin, int end){if(begin > end) return NULL;int mid = ((end - begin)>>1) + begin;TreeNode* root = new TreeNode(nums[mid]);root->left = bulid(nums, begin, mid-1);root->right = bulid(nums, mid+1, end);return root;}TreeNode* sortedArrayToBST(vector<int>& nums) {return bulid(nums, 0, nums.size()-1);}
};

時間復雜度: O(n)????????????????????????????????????????空間復雜度: O(logn)

?:4:11

總結(jié):1.根據(jù)數(shù)組構造二叉樹,考慮分治來遞歸。二叉搜索樹要求順序,則左子樹在root左邊,右子樹在root右邊。平衡二叉樹要求左右結(jié)點數(shù)相近,則root結(jié)點選取mid。

三、538. 把二叉搜索樹轉(zhuǎn)換為累加樹

題目鏈接:力扣

文章講解:代碼隨想錄

視頻講解:普大喜奔!二叉樹章節(jié)已全部更完啦!| LeetCode:538.把二叉搜索樹轉(zhuǎn)換為累加樹

題目:給出二叉 搜索 樹的根節(jié)點,該樹的節(jié)點值各不相同,請你將其轉(zhuǎn)換為累加樹(Greater Sum Tree),使每個節(jié)點 node?的新值等于原樹中大于或等于?node.val?的值之和。
提醒一下,二叉搜索樹滿足下列約束條件:
節(jié)點的左子樹僅包含鍵 小于 節(jié)點鍵的節(jié)點。
節(jié)點的右子樹僅包含鍵 大于 節(jié)點鍵的節(jié)點。
左右子樹也必須是二叉搜索樹。

代碼:

/*** 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:TreeNode* pre;TreeNode* convertBST(TreeNode* root) {if (!root) return NULL;convertBST(root->right);if (pre) root->val += pre->val;pre = root;convertBST(root->left);return root;}
};

時間復雜度: O(n)????????????????????????????????????????空間復雜度O(n)

?:2:21

總結(jié):1、觀察知,所謂累計所有比自己大的結(jié)點的值在二叉搜索樹(中序遍歷可變?yōu)橛行驍?shù)組)中,可表現(xiàn)為自身的值加上上一個結(jié)點的值(已經(jīng)累加過)即可。故采用反中序遍歷即從大到小進行累加。

? ? ? ? ?2、迭代法可通過構造線索二叉樹,將空間復雜度壓縮為O(1)。

http://www.risenshineclean.com/news/52236.html

相關文章:

  • 咸陽市網(wǎng)站建設重慶seo什么意思
  • 網(wǎng)站建設應用權限seo的優(yōu)點
  • 做公司網(wǎng)站找誰企業(yè)培訓課程有哪些
  • wordpress切換主題無法顯示我們seo
  • 做的網(wǎng)站怎么一搜就能出來全面網(wǎng)絡推廣營銷策劃
  • 建設網(wǎng)站費用多少錢新浪微輿情大數(shù)據(jù)平臺
  • 自己做網(wǎng)站 最好的軟件下載云南網(wǎng)站建設公司哪家好
  • 網(wǎng)站建設見站分析和準備論文最近幾天發(fā)生的新聞大事
  • 住建部網(wǎng)站村鎮(zhèn)建設管理平臺外鏈免費發(fā)布平臺
  • 做潔具最好的網(wǎng)站電商運營方案
  • 做網(wǎng)站哪個軟件好用南寧seo推廣優(yōu)化
  • 網(wǎng)站建設的市場分析搜索引擎優(yōu)化的五個方面
  • 網(wǎng)站公告彈窗源碼鄭州網(wǎng)站排名優(yōu)化公司
  • 宿遷做網(wǎng)站短視頻入口seo
  • 如何做一份企業(yè)網(wǎng)站規(guī)劃網(wǎng)絡營銷策劃書總結(jié)
  • 湖南建設工程信息網(wǎng)一體化平臺網(wǎng)站seo置頂
  • 單位門戶網(wǎng)站建設方案google海外版入口
  • 買虛機送網(wǎng)站建設上海網(wǎng)絡推廣平臺
  • 岳陽網(wǎng)站建設哪里便宜百度人工在線客服
  • 學做衣服上什么網(wǎng)站軟文廣告發(fā)稿
  • 手機網(wǎng)站制作平臺有哪些微商軟文范例大全100
  • 北京城鄉(xiāng)和住房建設部網(wǎng)站百度推廣首次開戶需要多少錢
  • 網(wǎng)頁制作與網(wǎng)站建設廣州排名優(yōu)化哪家專業(yè)
  • 手機做網(wǎng)站公關公司
  • 資深網(wǎng)站百度學術論文官網(wǎng)入口
  • 公司 網(wǎng)站建設 簡介付費推廣
  • 制作圖片庫蘭州seo技術優(yōu)化排名公司
  • 唐山網(wǎng)站怎么做seo搜索引擎外部優(yōu)化有哪些渠道
  • 佛山做網(wǎng)站yunzhanfs企業(yè)網(wǎng)絡推廣平臺
  • 網(wǎng)站建設全包需要多少錢廣州seo代理計費