成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

5030-節(jié)點與其祖先之間的最大差值

OnlyMyRailgun / 1412人閱讀

摘要:前言的節(jié)點與其祖先之間的最大差值給定二叉樹的根節(jié)點,找出存在于不同節(jié)點和之間的最大值,其中,且是的祖先。提示樹中的節(jié)點數在到之間。

前言

Weekly Contest 132的 節(jié)點與其祖先之間的最大差值:

給定二叉樹的根節(jié)點 root,找出存在于不同節(jié)點 AB 之間的最大值 V,其中 V = |A.val - B.val|,且 AB 的祖先。

(如果 A 的任何子節(jié)點之一為 B,或者 A 的任何子節(jié)點是 B 的祖先,那么我們認為 AB 的祖先)

示例:

輸入:[8,3,10,1,6,null,14,null,null,4,7,13]
輸出:7
解釋: 
我們有大量的節(jié)點與其祖先的差值,其中一些如下:
|8 - 3| = 5
|3 - 7| = 4
|8 - 1| = 7
|10 - 13| = 3
在所有可能的差值中,最大值 7 由 |8 - 1| = 7 得出。

提示:

樹中的節(jié)點數在 2 到 5000 之間。

每個節(jié)點的值介于 0 到 100000 之間。

解題思路

本題需要將問題分解一下,首先先實現(xiàn)根節(jié)點與每個節(jié)點的差值的最大值的算法,然后只需要遍歷每個子樹即可。

實現(xiàn)代碼
   /**
     * 5030. 節(jié)點與其祖先之間的最大差值
     * @param root
     * @return
     */
    public int maxAncestorDiff(TreeNode root) {
        Queue queue = new LinkedList<>();
        queue.add(root);
        int max=0;
        while(!queue.isEmpty()){//層序遍歷
            TreeNode node=queue.poll();
            max=Math.max(max,getMaxDiffByRoot(node));
            if(node.left!=null){
                queue.add(node.left);
            }
            if(node.right!=null){
                queue.add(node.right);
            }
        }
        return max;
    }

    /**
     * 獲取某個根節(jié)點下所有節(jié)點與根節(jié)點的差值的最大值
     * 這里選擇使用層序遍歷
     * @param root
     * @return
     */
    private int getMaxDiffByRoot(TreeNode root){
        Queue queue = new LinkedList<>();
        queue.add(root);
        //根節(jié)點的值,用于比較
        int rootValue=root.val;
        //最大差值
        int max=0;
        while(!queue.isEmpty()){//層序遍歷每個節(jié)點
            TreeNode node=queue.poll();
            // 獲取最大值
            max=Math.max(max,Math.abs(node.val-rootValue));
            if(node.left!=null){
                queue.add(node.left);
            }
            if(node.right!=null){
                queue.add(node.right);
            }
        }
        return max;
    }

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉載請注明本文地址:http://systransis.cn/yun/77616.html

相關文章

  • mongodb簡介

    摘要:示例給追加別名,用法作用加一個值到數組內,而且只有當這個值在數組中不存在時才增加。示例刪除記錄內的所有別名可以看到和已經全部被刪除了用法作用對字段進行重命名示例把記錄的字段重命名為由結果可以看出字段已經被更新為了。 1. 來源 存儲方式就是個大json,很靈活。 2. 官網下載安裝 https://docs.mongodb.com 3. 啟動 // 指定數據庫所在的文件夾 mongod...

    zsirfs 評論0 收藏0
  • CSS概念【記錄】

    摘要:語法規(guī)則注釋層疊優(yōu)先級繼承值塊格式化上下文盒模型層疊上下文可替換元素外邊距合并包含塊視覺格式化模型布局模式語法屬性值聲明聲明塊規(guī)則規(guī)則集規(guī)則規(guī)則一個語句定義樣式表使用的字符集告訴引擎引入一個外部樣式表嵌套規(guī)則如果滿足媒介查詢的條件則條件規(guī)則 1、CSS語法 2、@規(guī)則 3、注釋 4、層疊 5、優(yōu)先級 6、繼承 7、值 8、塊格式化上下文 9、盒模型 10、層疊上下文 11、可替換元素 12、...

    番茄西紅柿 評論0 收藏0
  • CSS那些事

    摘要:今天跟大家分享一下中一些比較重要和比較容易被忽略的東西,開始吧。當為時,塊級元素的寬度會填滿整個包含塊。也就是說上下外邊距的值也是以父元素的寬度為標準的。 今天跟大家分享一下CSS中一些比較重要和比較容易被忽略的東西,開始吧。 樣式優(yōu)先級 當你在不同地方不同的選擇器中對同一個元素屬性添加了不同的樣式的時候,該如何判斷最后哪個樣式會作用到元素上呢?判斷的依據就是樣式的優(yōu)先級。樣式優(yōu)先...

    LinkedME2016 評論0 收藏0
  • 圖說 Firefox 全新 CSS 引擎

    摘要:的主要組件包含了一個全新的引擎,稱為量子,也稱為。這個新引擎集成了四種不同瀏覽器的最新創(chuàng)新技術,創(chuàng)造出一個全新的超級引擎。這可以發(fā)生在多個圖層上。最終,擁有最高特異性的規(guī)則會勝出。 原文:Inside a Super Fast CSS Engine: Quantum CSS(Aka Stylo), Lin Clark 注:原文發(fā)布于 2017 年 8 月,本文翻譯于 2018 年 4 ...

    lsxiao 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<