1552.平衡二叉樹

輸入格式
第一行包含整數 N,表示總插入值數量。第二行包含 N 個不同的整數,表示每個插入值。

輸出格式
輸出得到的 AVL 樹的根是多少。

數據范圍
1≤N≤20

輸入樣例1:
5
88 70 61 96 120

輸出樣例1:
70

輸入樣例2:
7
88 70 61 96 120 90 65

輸出樣例2:
88

#include<iostream>
using namespace std;
const int N=30;
int l[N],r[N],v[N],h[N],idx;
int n,root;
int height(int u)
{return h[l[u]]-h[r[u]];
}
void update(int u)
{h[u]=max(h[l[u]],h[r[u]])+1;
}
void R(int &u)
{int p=l[u];l[u]=r[p];r[p]=u;update(u),update(p);u=p;
}
void L(int &u)
{int p=r[u];r[u]=l[p];l[p]=u;update(u),update(p);u=p;
}
void insert(int &u,int w)
{if(!u) u=++idx,v[u]=w;else if(w<v[u]){insert(l[u],w);if(height(u)==2){if(height(l[u])==1) R(u);else L(l[u]),R(u);}}else{insert(r[u],w);if(height(u)==-2){if(height(r[u])==-1) L(u);else R(r[u]),L(u);}}update(u);
}         
int main()
{cin>>n;while(n--){int w;cin>>w;insert(root,w);}cout<<v[root];return 0;
}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/711967.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/711967.shtml
英文地址,請注明出處:http://en.pswp.cn/news/711967.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

商業江湖大揭秘:月入千萬與顆粒無收,究竟差了什么?

在商業的浩瀚江湖 英雄豪杰們或乘風破浪、月入千萬&#xff0c;或步履蹣跚、顆粒無收&#xff0c;這背后的奧秘究竟何在&#xff1f;是天意難測&#xff0c;還是人為疏忽&#xff1f;是制度的不完善&#xff0c;還是工具的滯后不前&#xff1f;答案就隱藏在你未曾注意的細節之…

公司招嵌入式開發崗位,為什么感覺一年比一年難?

最近看到一個問題&#xff1a; 是一個HR在吐槽招不到嵌入式開發的人才。 這句話&#xff0c;難免會誤導一些想入行嵌入式的同學&#xff0c;臥槽&#xff0c;這么缺人?趕緊沖&#xff01; 哼次哼次學完一堆技術棧&#xff0c;一投簡歷&#xff0c;一個面試機會都沒有。 這就是…

24路電磁鎖主板在智能存儲系統中的作用

在無人值守場景中&#xff0c;如自助服務機、智能生鮮柜、共享儲物柜等&#xff0c;使用24路電磁鎖主板可以集成身份識別技術&#xff0c;將用戶的驗證結果轉化為相應的開鎖動作&#xff0c;提升用戶體驗和運營效率&#xff0c;是實現智能存儲系統高效、安全和自動化運行的關鍵…

Kubernetes的五大開源存儲項目

在Kubernetes中&#xff0c;關于數據的持久化管理是一種挑戰&#xff0c;對此&#xff0c;社區提供了多種存儲的解決方案&#xff0c;這些方案旨在簡化和優化容器化應用程序的持久化數據管理。 現介紹 Kubernetes 的五大開源存儲項目&#xff0c;帶你了解開源存儲解決方案的多…

unity后期

unity|后處理篇 前言一、Post-Processing 1、 Post-Processing的使用2、Post-Processing后處理效果 抗鋸齒①、Ambient Occlusion 環境光遮蔽②、Auto Exposure 自動曝光③、Bloom 輝光/泛光④、Chromatic Aberration | 色差⑤、Color Grading 色調/顏色分級⑥、Depth Of Fiel…

銳捷網絡攜數據中心、以太全光等創新解決方案亮相2024MWC

在西班牙巴塞羅那舉行的2024年世界移動通信大會(MWC)上,銳捷網絡(下文簡稱“銳捷”)展示了將技術與應用充分融合的云數據中心、5G、光網絡等產品及解決方案,幫助更多行業組織建設更貼近業務、智能、簡單、高效、綠色低碳的網絡基礎設施,應對當下及未來的挑戰,共同連接更廣闊可能…

PHP語言常見面試題:請解釋一下PHP是什么,以及它的主要用途是什么?

PHP&#xff0c;英文全稱為Hypertext Preprocessor&#xff0c;中文名稱為“超文本預處理器”。它是一種通用的開源腳本語言&#xff0c;特別適用于Web開發領域。PHP最初是由Rasmus Lerdorf在1995年創建的&#xff0c;并且自那時以來&#xff0c;它已經發展成為一個功能強大且易…

骨傳導耳機好用嗎?六大選購法則與避坑技巧大公開

在過去的兩年里&#xff0c;骨傳導耳機逐漸成為大眾的新寵&#xff0c;這一趨勢并不出人意料。畢竟長時間使用音量過大的傳統入耳式耳機&#xff0c;多多少少會對我們的聽力健康構成威脅。然而不同耳機對聽力的潛在影響程度是有差異的。骨傳導耳機好用嗎&#xff1f;與傳統耳機…

租床小程序|租床系統|租賃軟件開發功能

隨著移動互聯網的普及&#xff0c;越來越多的人開始選擇在線上完成各種租賃業務&#xff0c;而醫院租床也不例外。在這個趨勢下&#xff0c;開發一款租賃小程序成為了市場的必然需求。 租床小程序的功能 1、搜索與篩選 為了滿足不同用戶的需求&#xff0c;小程序應該提供設備…

android適配器adapter,Android程序員架構之路該如何繼續學習

便于開發的插件、工具和第三方開源庫 1.GsonFormat 使用方法&#xff1a;快捷鍵AltS也可以使用AltInsert選擇GsonFormat&#xff0c;作用&#xff1a;速將json字符串轉換成一個Java Bean&#xff0c;免去我們根據json字符串手寫對應Java Bean的過程。 2.ButterKnife Zelezny …

vmware16 nat模式 經常掉線 需要重啟nat

vmware16 nat模式 經常掉線 需要重啟nat才能聯網&#xff0c;之后又過一會掉線&#xff0c;往復操作重啟nat. 修復方案&#xff08;待驗證&#xff09; 修改靜態ip 嘗試過的方案&#xff08;無效果&#xff09; 一 調整 MaxUserPort 和 TcpTimedWaitDelay 設置 連接&#xf…

關于Node.js異常處理的教程

在Node.js開發中&#xff0c;異常處理是非常重要的一部分。良好的異常處理可以幫助我們及時發現和解決問題&#xff0c;提高系統的穩定性和可靠性。本教程將向您介紹Node.js中異常處理的最佳實踐和策略。 1. 使用try-catch捕獲同步異常 在Node.js中&#xff0c;可以使用try-c…

【Linux C | 網絡編程】getaddrinfo 函數詳解及C語言例子

&#x1f601;博客主頁&#x1f601;&#xff1a;&#x1f680;https://blog.csdn.net/wkd_007&#x1f680; &#x1f911;博客內容&#x1f911;&#xff1a;&#x1f36d;嵌入式開發、Linux、C語言、C、數據結構、音視頻&#x1f36d; &#x1f923;本文內容&#x1f923;&a…

element-plus 的el-img組件訪問oss圖片自動拼接前端地址

這是我的組件代碼 <el-image style"width: 100px; height: 100px" :src"scope.row.logo" />訪問時候 竟然憑借上了前端的地址端口 原來是我的oss服務是使用了域名做cdn加速的 內容分發網絡&#xff08;CDN&#xff09;或者服務器配置&#xff0c;可…

k8s學習-數據管理之nfs手動搭建

需要先準備好3臺虛擬機 系統CentOS7 IP 192.168.200.128 master IP 192.168.200.129 node1 IP 192.168.200.130 node2 問題描述 在學習數據管理的時候創建完pv和pvc以后&#xff0c;創建了pod使用pvc&#xff0c;但是pod創建不成功。 查看pod描述 kubectl describe pod myp…

安全防御(第六次作業)

攻擊可能只是一個點&#xff0c; 防御需要全方面進行 IAE引擎 DFI和DPI技術 --- 深度檢測技術 DPI --- 深度包檢測技術 --- 主要針對完整的數據包&#xff08;數據包分片&#xff0c;分段需要重組&#xff09; &#xff0c;之后對 數據包的內容進行識別。&#xff08;應用層&a…

【湖南省建筑類中級職稱申報攻略】企業專場條件寬松,不費勁拿證書!

【湖南省建筑類中級職稱申報攻略】企業專場條件寬松&#xff0c;不費勁拿證書&#xff01; 2024年湖南省電力電氣工程師申報評審/企業專場不費勁 湖南省建筑類中級職稱申報評審都是以考代評&#xff0c;符合條件參加考試&#xff0c;考試合格了&#xff0c;職稱申報審核通過就…

c語言經典測試題8

在c語言經典測試題6的第一題&#xff0c;大家是否想過可不可以將遞歸參數改為s呢&#xff1f;或許有的人已經試過了&#xff0c;但是發現好像不會有結果&#xff0c;其實是因為s為后置&#xff0c;先試用后加1&#xff0c;然而我們這個是在s出了函數之后才會運行加1操作&#x…

CentOS 7開啟Web服務

之前有寫過用kali開啟web服務方法&#xff0c;這次寫個用cendos7開啟服務的步驟&#xff01; 1、安裝httpd yum install -y httpd 若顯示安裝失敗&#xff0c;報錯原因為找不到httpd的安裝包&#xff0c;可參考這篇文件更新yum源&#xff1a;CentOS 7更換yum源|詳細步驟-CSDN…

CDN CloudFlare 接入 OCI 對象存儲

在當今數字化時代&#xff0c;網站性能和可用性是業務成功的關鍵。為了提供快速且可靠的訪問體驗&#xff0c;許多組織正在尋找有效的內容分發網絡&#xff08;CDN&#xff09;解決方案。CloudFlare作為業界領先的CDN提供商&#xff0c;其強大的全球網絡基礎設施能夠加速網站內…