原创 IntelliJ Idea 使用技巧學習記錄

下述內容均在公衆號裏面介紹,公衆號持續更新中,如果喜歡可以訂閱,麼麼噠 IntelliJ IDEA 之 遠程調試篇 IntelliJ IDEA 之 草稿(Scratch) IntelliJ IDEA 之 斷點類型(Breakpoint)

原创 面試題 9 Fibonacci數列

1 Fibonacci 數列的定義 2 Fibonacci 解法 遞歸計算 Fibonacci 數列 int fibonacci(int n){ if(n<=0) return 0; if(n==1) retu

原创 面試題 12

1 題目描述 題目:輸入數字 n, 按順序打印從 1 到 最大位 n 位十進制數。 比如輸入 3 打印 1,2,3 一直打印到 999 2 解法描述 1 乍看之下的解法 public static void print12M

原创 面試題 13

1 題目描述 給定單向鏈表的都指針和一個節點指針,定義一個函數在 O(1)的時間內刪除該節點。 2 解法描述 常規情況下,需要遍歷整個鏈表,找到待刪節點的前驅節點,然後將前驅節點的 next 指針指向待刪節點的 next 指針

原创 裝飾模式---結構性

Decorator 裝飾者模式:(裝飾者)動態的將責任附加到對象(被裝飾者)上去,若要擴展功能,裝飾者提供了比繼承更有彈性的替代方案。 模式中的角色 抽象構件(Component)角色:給出一個抽象接口,以規範準備接收附加責任

原创 Java集合---Map

Map接口 將鍵映射到值的對象,一個映射不能包含重複的鍵;每個鍵最多隻能映射到一個值。 Map 接口提供三種 collection 視圖,允許以鍵集、值集或鍵-值映射關係集的形式查看某個映射的內容。 映射順序定義爲迭代器在映射的

原创 面試題 10

1 題目描述 計算數的二進制表示中的 1 的個數,例如把 9 表示成二進制是 1001,有 2 位是1. 2 解決方法 第一種方法:依次右移 n ,檢查最右邊一位是不是 1 int numberOf1(int n){ i

原创 面試題 7

1 題目描述 用兩個棧實現一個隊列,隊列的聲明如下,請事先它的兩個函數,appendTail 和 deleteHead 分別完成從隊列尾部插入節點和在對頭部刪除節點的功能。 2 算法描述 appendTail:元素進隊時,直接入

原创 Java集合---Set

Set 接口 一個不包含重複元素的 collection。更確切地講,set 不包含滿足 e1.equals(e2) 的元素對 e1 和 e2,並且最多包含一個 null 元素。正如其名稱所暗示的,此接口模仿了數學上的 set 抽

原创 面試題 15

1 題目描述 輸入一個鏈表,輸出鏈表中倒數第 k 個結點。鏈表的尾結點是倒數第一個結點。例如一個鏈表有 6 個結點,從頭到尾開始他們的值依次是 1、2、3、4、5、6。那麼倒數第三個節點的值是 4 。 2 解法描述 常規方法:

原创 面試題 14

1 題目描述 輸入一個數組,實現一個函數來調整數組中數字的順序,使得所有的奇數位於數組的前面,所有偶數位於數組的後半部分。 2 算法描述 設置一個頭指針和一個尾指針,頭指針不斷向後移動,直到遇到偶數,尾指針不斷向前移動,直到遇到

原创 面試題 16

1 題目描述 定義一個函數,輸入一個鏈表的頭結點,反轉該鏈表並輸出反轉後鏈表的頭結點。 2 解題方法 頭結點:不屬於鏈表中有效的元素,爲了方便操作而設立的一個節點 運用頭插法將鏈表重寫插入到頭結點 具體操作如下所示:

原创 面試題 8

1 題目描述 把一個數組最開的若干個元素搬到數組的尾部,我麼稱之爲數組的旋轉。輸入一個遞增排序的數組的一個旋轉,輸出旋轉數組的最小元素。例如數組 {3,4,5,1,2} 爲 {1,2,3,4,5} 的一個旋轉,該數組的最小值爲 1

原创 Java集合---List

List接口 List接口,成爲有序的Collection也就是序列。該接口可以對列表中的每一個元素的插入位置進行精確的控制,同時用戶可以根據元素的整數索引(在列表中的位置)訪問元素,並搜索列表中的元素。例如List接口定義如下方

原创 面試題 11

1 題目描述 題目:實現函數 double Power(double base,int exponent),求exponent 次方,不得使用庫函數,同時不考慮大數問題。 算法描述 base^exponent 一般情況 bas