《編程之美: 求二叉樹中節點的最大距離》的另一個解法

昨天花了一個晚上為《編程之美》,在豆瓣寫了一篇書評《遲來的書評和感想──給喜愛編程的朋友》。書評就不轉載到這裡了,取而代之,在這裡介紹書裡其中一條問題的另一個解法。這個解法比較簡短易讀及降低了空間複雜度,或者可以說覺得比較「美」吧。問題定義如果我們把二叉樹看成一個圖,父子節點之間的連線看成是雙向的,我們姑且定義"距離"為兩節點之間邊的個數。寫一個程式求一棵二叉樹中相距最遠的兩個節點之間的距離。書上的解法書中對這個問題的分析是很清楚的,我嘗試用自己的方式簡短覆述。計算一個二叉樹的最大距離有兩個情況

How to install SOGo on Ubuntu ?(命令修改 )安裝 sogo拼音法

If you're using Ubuntu Natty Narwhal (11.04), add to your apt source list (/etc/apt/sources.list):sudo add-apt-repository "deb http://inverse.ca/ubuntu natty natty"If you prefer using the nightly builds, simply use instead:sudo add-apt-repository

資料保全與技術評鑑

資料保全與技術評鑑第一組證據用於證明辦公軟體介面等設計系行業公知技術,不具備獨創性,原告主張侵權之訴是無理的。1、從網路下載的“火焰山”等其他公司辦公自動化軟體產品與威爾公司產品進行對比的資料;2、廈門市思明區公證處(2004)廈思證民字第532號公認證;3、東大阿爾派Vniversal office5.0使用者手冊;4、瀋陽東軟《全球辦公自動化系統》;5、上海開思軟體有限公司CASE/OAR7

make: *** [out/target/common/docs/doc-comment-check-timestamp] Error 45

這是由於clearsilver在編譯時間如果檢測到使用Java JDK 6,就使用64位編譯。要避開此錯誤,需要修改下面四個檔案:external/clearsilver/cgi/Android.mkexternal/clearsilver/java-jni/Android.mkexternal/clearsilver/util/Android.mkexternal/clearsilver/cs/Android.mk把這四個Makefile中的下列語句注掉即可:# This forces a 6

Ubuntu 11.10 下安裝 JDK 6.27

1、首先是下載:http://www.oracle.com/technetwork/java/javase/downloads/jdk-6u27-download-440405.html選擇:Linux x86 - Self Extracting Installer81.20 MB   jdk-6u27-linux-i586.bin2、再建立Java的目錄,然後將下載下來的檔案解壓到該目錄中:$ sudo cp jdk-6u27-linux-i586.bin /usr/lib/jvm

什麼是安全執行緒? 安全執行緒是怎麼完成的(原理)?

     1、安全執行緒問題都是由全域變數及靜態變數引起的。安全執行緒一般都涉及到synchronized      

ThreadGroup其實比ExecutorService更好

用java做抓取的時候免不了要用到多線程的了,因為要同時抓取多個網站或一條線程抓取一個網站的話實在太慢,而且有時一條線程抓取同一個網站的話也比較浪費CPU資源。要用到多線程的等方面,也就免不了對線程的控制或用到線程池。  

IIS-SQL notes

http://www.iis.net/learn/extensions/url-rewrite-module/iis-url-rewriting-and-aspnet-routing IIS的 模組,很多功能,很少用到,其實很不錯Just tried the rule from LazyOne and it worked with Godaddy hosting since they've already have microsoft url rewriting module

Ubuntu下安裝git的過程

首先下載git包:$ cd ~/tmp$ wget http://www.kernel.org/pub/software/scm/git/git-1.6.0.2.tar.gz解壓:$ tar xvzf git-1.6.0.2.tar.gzBuild它:$ cd git-1.6.0.2$ ./configure --prefix=/usr/bin$ make然後看見了錯誤 "zlib.h No such file or directory"zlib.h 包含在

為使用者提供更少選擇,其實是更好的選擇

發帖日期:2012-11-02 14:17:13 標籤:Gilt  Groupon  資料庫   互連網創業公司大體可以分成兩派,一派是多多益善,給使用者提供儘可能多的選擇,另一派是下定決心,為使用者提供精心準備的選擇。我們的公司Art Sumo 屬於後一派,實踐結果非常不錯。在本文中我會先解釋“提供更少選擇”背後的原因,再介紹選擇同樣做法並取得不錯效果的幾家創業公司,以此說明“提供更少選擇”的可取之處。  選擇越少,效果越好,為什嗎?  在The Paradox of Choice: Why

檔案分享權限設定與同步解決方案-2

HCP Anywhere: 引領企業進入隨處工作時代HCP Anywhere是業界首款真正整合、安全、可靠的企業級檔案分享權限設定與同步解決方案。滿足企業級應用的需要。HCP Anywhere能夠讓員工隨時隨地通過任意裝置訪問任意資料。同時又保證端到端檔案分享權限設定解決方案部署的安全性、可靠性以及企業監管性,實現企業對資料的即時控制。對於IT和使用者而言,HCP Anywhere的安裝、實施和管理都十分便捷。不需要任何使用者培訓,而是提供自服務網站。它能夠與現有IT活動和流程並行,無需備份。終

iOS7 Release Note提到的一些變更

iOS7 Release Note提到的一些變更看了Beta版的iOS SDK Release Notes for

我的開發之路

 第一個應用:1.廣告動態 切換 Handler +Thread 2.Viewpager 實現 底部圓點+頁面切換3.二維碼 (閃光燈+拍碼驗證+制碼)4.自訂tab 位於底部或者頂部5. ExpandableListView 可擴充列表(日期分類顯示)6.CornerListView的使用第二個應用:1.拍照視頻上傳2.彈窗(動畫)3.自動登入,記住密碼(sharedPreference臨時儲存)4.webView +進度條主要是對 handler+Thread  , AynsTask有了

Struts標籤checkbox使用總結(默認選擇設置)

 在使用struts標籤html:checkbox 的時候,如何讓checkbox框預設是選中的,一般情況 下都是當formbean裡面該property的值和標籤上value給定的值相等的時候,產生的jsp頁面上才是選中的,其實,還有幾種情況都可以使標籤初始就是選中的,formbean裡面該property的值設為 1.on 2.yes 3.true 4.等於標籤上value指定的值,

網盤-同步-多終端漫天飛

可能很多朋友都已經試過 Dropbox、Everbox、金山快盤等一系列網盤同步工具了,它們的確非常方便。但如果在沒有互連網的情況下,它們將會全部失效。那麼有時我們就需要一款能支持區域網路同步的工具,或者甚至可以在本機內多個檔案夾間互相同步。        Allway Sync 正是這樣一款免費易用的 Windows 檔案同步軟體,它可以讓電腦內幾個不同檔案夾之間互相同步,而且也能與近端分享、FTP、WebDAV、移動硬碟等檔案夾進行同步,功能很強。它支援Windows7、XP、Vista、2

GridView中某一欄欄位根據資料庫內容改變顏色

      GridView中某一列的欄位根據資料庫內容設定為不同的顏色。代碼如下: <asp:TemplateField HeaderText="刪除"> <ItemTemplate> <a style='<%# "color:" + (Eval("CnIsDeleted").ToString() == "是" ? "Red": "Black" )

adb server didn’t act

之前運行eclipse執行android應用都沒問題,今天突然出問題了,控制台報錯: The connection to adb is down, and a severe error has occured. You must restart adb and Eclipse. Please ensure that adb is correctly located at 'E:/setups/android/android-2.1_r01-windows/tools/adb.exe' and

關於struts使用html:select標籤的預設選項

方法一: <html:select property="id">  //這裡一定不能再用vlue屬性了,只用一個property就可以了     <c:forEach var="row" item="${rs.rows}">         <html:option value="row.id">                  <c:out value="row.name"/>            </html:option>  

960000-byte external allocation too large for this process VM won’t let us allocate 960000 by

出現問題: 11-30 01:59:13.126: INFO/Kingdom(385): set status:STOP11-30 01:59:13.174: INFO/Kingdom(385): WINDOW_WIDTH:320 WINDOW_HEIGHT:29011-30 01:59:13.184: ERROR/dalvikvm-heap(385): 960000-byte external allocation too large for this process.11-30 01:59:

總頁數: 61357 1 .... 26173 26174 26175 26176 26177 .... 61357 Go to: 前往

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.