[leetcode hot 150]第五百三十題,二叉搜索樹的最小絕對差

題目:

給你一個二叉搜索樹的根節點?root?,返回?樹中任意兩不同節點值之間的最小差值?。

差值是一個正數,其數值等于兩值之差的絕對值。

解析:

  1. minDiffInBST?方法是主要方法。
  2. 創建一個?ArrayList?來存儲樹的節點值。
  3. inorderTraversal?方法進行中序遍歷,將節點值添加到列表中。
  4. 在得到有序列表后,遍歷列表,計算相鄰元素的差值。
  5. 使用?Math.min?來持續更新最小差值。
  6. 最后,返回找到的最小差值。
import java.util.ArrayList;
import java.util.List;public class no_530 {public static void main(String[] args) {TreeNode root = new TreeNode(4);root.left = new TreeNode(2);root.right = new TreeNode(6);root.left.left = new TreeNode(1);root.left.right = new TreeNode(3);System.out.println(getMinimumDifference(root));}public static int getMinimumDifference(TreeNode root) {List<Integer> values = new ArrayList<>();inorderTraversal(root, values);int minDiff = Integer.MAX_VALUE;for (int i = 1; i < values.size(); i++) {minDiff = Math.min(minDiff, values.get(i) - values.get(i - 1));}return minDiff;}public static void inorderTraversal(TreeNode node, List<Integer> values) {if (node == null) return;inorderTraversal(node.left, values);values.add(node.val);inorderTraversal(node.right, values);}
}

?

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

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

相關文章

前端日常掃盲

一、js標簽語句 直接上代碼 for(let i 0; i < 10; i){console.log("頂層循環");for(let j 0; j < 10; j){console.log("內層循環",i,j);if(i * j > 30){console.log("退出頂層循環");break;}} }如上面的代碼&#xff0c;雙層循環&a…

opencv-yolo-tiny車輛檢測 ----20240705

opencv-yolo-tiny 實現車輛檢測 opencv.dnn模塊已經支持大部分格式的深度學習模型推理,該模塊可以直接加載tensorflow、darknet、pytorch等常見深度學習框架訓練出來的模型,并運行推理得到模型輸出結果。opecnv.dnn模塊已經作為一種模型部署方式,應用在工業落地實際場景中。…

持續交付:自動化測試與發布流程的變革

目錄 前言1. 持續交付的概念1.1 持續交付的定義1.2 持續交付的核心原則 2. 持續交付的優勢2.1 提高交付速度2.2 提高軟件質量2.3 降低發布風險2.4 提高團隊協作 3. 實施持續交付的步驟3.1 構建自動化測試體系3.1.1 單元測試3.1.2 集成測試3.1.3 功能測試3.1.4 性能測試 3.2 構建…

(一)進程與線程

一、進程和線程的概念 1.1 進程 程序由指令和數據組成&#xff0c;但這些指令要運行&#xff0c;數據要讀寫&#xff0c;就必須將指令加載至CPU&#xff0c;數據加載至內存。在指令運行過程中還需要用到磁盤、網絡等設備。進程就是用來加載指令、管理內存、管理 IO 的。當一個…

鴻蒙系統的開發與學習

1.開發工具的下載 DevEco Studio-HarmonyOS Next Beta版-華為開發者聯盟 安裝、環境配置時&#xff0c;建議 自定義目錄 注意&#xff1a;路徑中不要有 中文、特殊字符。 2.ArkTS基礎總結 1&#xff09;三種數據類型 ① string 字符串&#xff1a;描述信息 ② number 數…

銀聯快捷支付的優點!

快速支付&#xff0c;又稱電子支付或第三方支付&#xff0c;在行業中得到了廣泛的應用。用戶只需通過銀行完成交易。方便快捷是指銀行可以在任何條件下支持用戶之間的轉賬、支付等即時結算服務。快速支付是指用戶可以通過手機實現銀行卡等相關操作。然而&#xff0c;現在大多數…

Java后端每日面試題(day1)

目錄 JavaWeb三大組件依賴注入的方式Autowire和Resurce有什么區別&#xff1f;Spring Boot的優點Spring IoC是什么&#xff1f;說說Spring Aop的優點Component和Bean的區別自定義注解時使用的RetentionPolicy枚舉類有哪些值&#xff1f;如何理解Spring的SPI機制&#xff1f;Spr…

聽說現在AI產品經理薪資30k起步?0基礎可以轉行AI產品嗎?

2024年&#xff0c;還有什么新風口&#xff1f; AI、元宇宙、NFT… 很多人不知道&#xff0c;其實不管是元宇宙還是NFT&#xff0c;它們本質上就是人工智能領域。 AI自身應用領域非常廣泛&#xff0c;大批高薪崗位隨之涌了出來&#xff0c;包括AI產品經理。 AI產品經歷具體工…

CSS Float(浮動)

CSS Float(浮動) 概述 CSS Float(浮動)是一種布局技術,它允許開發人員將元素(如圖片或文本)沿著其容器的左側或右側放置,并且讓其他內容圍繞它流動。這種技術在過去被廣泛用于創建多欄布局,盡管現代CSS提供了更多高級的布局方法(如Flexbox和Grid),但理解浮動仍然…

【LeetCode:841. 鑰匙和房間 + DFS】

&#x1f680; 算法題 &#x1f680; &#x1f332; 算法刷題專欄 | 面試必備算法 | 面試高頻算法 &#x1f340; &#x1f332; 越難的東西,越要努力堅持&#xff0c;因為它具有很高的價值&#xff0c;算法就是這樣? &#x1f332; 作者簡介&#xff1a;碩風和煒&#xff0c;…

安卓手機已刪除短信如何恢復?這2個技巧,找回離家出走的短信

手機宛如一座豐富的寶庫&#xff0c;珍藏著生活中的點滴回憶。其中&#xff0c;短信作為溝通的橋梁&#xff0c;記錄著我們與親朋好友間的溫情脈脈&#xff0c;承載著無數珍貴的瞬間。然而&#xff0c;有時&#xff0c;我們卻會不慎觸發寶庫中的機關&#xff0c;使得這些寶貴的…

陳文自媒體:30歲房貸1000萬,杠杠超乎想象!

首先寫這個文章我要聲明&#xff0c;這個內容沒有傳播負能量&#xff0c;沒有傳播所謂的焦慮&#xff0c;我只是想表達一下我的觀點。 昨天的中金30歲女士的事件&#xff0c;我相信很多網友都知道了&#xff0c;已經上了熱搜了。 簡單總結一下原因&#xff0c;據說是她和老公…

【計算智能】遺傳算法(二):基本遺傳算法在優化問題中的應用【實驗】

前言 本系列文章架構概覽&#xff1a; 本文將介紹基本遺傳算法在解決優化問題中的應用,通過實驗展示其基本原理和實現過程&#xff1a;選取一個簡單的二次函數作為優化目標&#xff0c;并利用基本遺傳算法尋找其在指定范圍內的最大值。 2. 基本遺傳算法&#xff08;SGA&#x…

面試公司的時候一般要問HR的問題和關注的福利待遇(比較重要,親測)

1.問是否雙休&#xff0c;是否有五險一金 2.問福利待遇&#xff0c;是否包吃住&#xff0c;是否有班車及補貼等 3.是否加班 4.是否有健身房&#xff0c;食堂等設施 5.是否出差&#xff0c;在哪個城市 6.工作地點能不能選擇 7.晉升機會怎么樣&#xff0c;什么時候才能晉升&#…

從0構建一款appium-inspector工具

上一篇博客從源碼層面解釋了appium-inspector工具實現原理&#xff0c;這篇博客將介紹如何從0構建一款簡單的類似appium-inspector的工具。如果要實現一款類似appium-inspector的demo工具&#xff0c;大致需要完成如下六個模塊內容 啟動 Appium 服務器連接到移動設備或模擬器啟…

vue 中 使用騰訊地圖 (動態引用騰訊地圖及使用簽名驗證)

在設置定位的時候使用 騰訊地圖 選擇地址 在 mounted中引入騰訊地圖&#xff1a; this.website.mapKey 為地圖的 key // 異步加載騰訊地圖APIconst script document.createElement(script);script.type text/javascript;script.src https://map.qq.com/api/js?v2.exp&…

SS8812T替代DRV8812的國產雙通道H橋電機驅動芯片

由工采網代理的SS8812T是一款國產雙通道H橋電機驅動芯片&#xff1b;該芯片為打印機和其它電機一體化應用提供一種雙通道集成電機驅動方案&#xff1b;可Pin-to-Pin兼容替代DRV8812&#xff0c;可廣泛應用于POS、打印機、安防相機、辦公自動化設備、游戲機、機器人等。 產品描述…

Vue.js 案例——商品管理

一.需要做出的效果圖&#xff1a; 二.實現的步驟 首先&#xff0c;先建一個項目&#xff0c;命名Table&#xff0c;在Table項目中的components里新建一個MyTable.vue文件。 第二步&#xff0c;在原有的 HelloWorld.vue中寫入代碼。 HelloWorld.vue代碼如下&#xff1a; <…

KumiaoQQ機器人框架源碼

源碼介紹 酷喵機器人框架基于PC協議與MGCH的結合&#xff0c;MGCH即 MiraiGO-CQhttp&#xff08;代碼類型&#xff1a;易語言&#xff09;基本的API功能已經實現&#xff0c;具體可自測&#xff08;教程/日志/說明文本已附帶&#xff09;開放源碼僅供參考學習交流&#xff0c;…

遠超美國!中國AI專利數量全球第一!商湯推出面向C端用戶大模型“Vimi”,可生成分鐘級視頻!|AI日報

文章推薦 蘋果獲得OpenAI董事會觀察員職位&#xff01;Runway正籌集新一輪融資&#xff0c;估值40億美元&#xff01;&#xff5c;AI日報 AI基準測評&#xff08;下&#xff09;&#xff1a;視頻生成、代碼能力、邏輯推理&#xff0c;AI是否已經超越人類&#xff1f; 聯合國…