原创 劍指offerNo62. 二叉搜索樹的第k個結點(Java)

題目描述: 給定一棵二叉搜索樹,請找出其中的第k小的結點。例如, (5,3,7,2,4,6,8)    中,按結點數值大小順序第三小結點的值爲4。 思路一:遞歸方法,按照中序遍歷進行打印,並設置一個計數器,當計數器==K時,便返回該節點值

原创 劍指offerNo51. 構建乘積數組(Java)

題目描述: 給定一個數組A[0,1,...,n-1],請構建一個數組B[0,1,...,n-1],其中B中的元素B[i]=A[0]*A[1]*...*A[i-1]*A[i+1]*...*A[n-1]。不能使用除法。(注意:規定B[0] =

原创 劍指offerNo67. 剪繩子(Java)

題目描述: 給你一根長度爲n的繩子,請把繩子剪成整數長的m段(m、n都是整數,n>1並且m>1),每段繩子的長度記爲k[0],k[1],...,k[m]。請問k[0]xk[1]x...xk[m]可能的最大乘積是多少?例如,當繩子的長度是8

原创 劍指offerNo61. 序列化二叉樹(Java)

題目描述: 請實現兩個函數,分別用來序列化和反序列化二叉樹   二叉樹的序列化是指:把一棵二叉樹按照某種遍歷方式的結果以某種格式保存爲字符串,從而使得內存中建立起來的二叉樹可以持久保存。序列化可以基於先序、中序、後序、層序的二叉樹遍歷方式

原创 評測題目2:兩個線程交叉打印100以內奇偶數,打印結束後線程正常結束。

題目描述: 兩個線程交叉打印100以內奇偶數,打印結束後線程正常結束。 思路: 該題考察的是對線程鎖的使用,多線程情況下如何控制各自的執行時間段。 思路一:使用標誌位 使用兩個線程交替打印奇數偶數,可以用長度爲[101]的數組,(數組0的

原创 測評1:給定一個字符串s和一組單詞dict,判斷s是否可以用空格分割成一個單詞序列,使得單詞序列中所有的單詞都是dict中的單詞(序列可以包含一個或多個單詞)。

題目描述: 給定一個字符串s和一組單詞dict,判斷s是否可以用空格分割成一個單詞序列,使得單詞序列中所有的單詞都是dict中的單詞(序列可以包含一個或多個單詞)。 思路:例如: 給定s=“alibaba”;dict=[“ali”, “b

原创 劍指offerNo26. 二叉搜索樹與雙向鏈表Java)

題目描述: 輸入一棵二叉搜索樹,將該二叉搜索樹轉換成一個排序的雙向鏈表。要求不能創建任何新的結點,只能調整樹中結點指針的指向。 思路: 也就是實現如上的效果。首先我們可以想到中序遍歷,因爲中序遍歷二叉搜索樹得到的是一個升序的序列。 首先

原创 劍指offerNo54. 字符流中第一個不重複的字符(Java)

題目描述: 請實現一個函數用來找出字符流中第一個只出現一次的字符。例如,當從字符流中只讀出前兩個字符"go"時,第一個只出現一次的字符是"g"。當從該字符流中讀出前六個字符“google"時,第一個只出現一次的字符是"l"。 輸出描述:

原创 劍指offerNo35. 數組中的逆序對(Java)

題目描述: 在數組中的兩個數字,如果前面一個數字大於後面的數字,則這兩個數字組成一個逆序對。輸入一個數組,求出這個數組中的逆序對的總數P。並將P對1000000007取模的結果輸出。 即輸出P%1000000007 題目保證輸入的數組中沒

原创 hr常問問題總結

溫馨提示:        這些全部是我自己總結的一些,答案是自己隨手邏輯了一下,答案不是固定的,自己需要結合自己的實際情況進行改動,有的沒有寫答案的,你需要自己寫哦~~~ 1、你平時有什麼愛好嗎? 自己平時的愛好是:運動(每週保持3-4次

原创 給兩個同樣大小的json文件,對兩份json文件進行對比,輸出滿足下下列要求的數據:

題目描述: 給兩個同樣大小的json文件,對兩份json文件進行對比,輸出滿足下下列要求的數據: key相同,value不同的數據,(需要在控制檯輸出,如,key=1,文件1的value是4,文件2的value是6); Key不同的值,如