原创 java 二叉樹的深度、平衡二叉樹、二叉樹的下一個結點

1. 二叉樹的深度 1. 題目描述 輸入一棵二叉樹,求該樹的深度。從根結點到葉結點依次經過的結點(含根、葉結點)形成樹的一條路徑,最長路徑的長度爲樹的深度。 2. 求解思路 可以用後序遍歷,從最後一層往上累加層數,最後加上根節點。

原创 java 反轉鏈表、合併鏈表

第一個問題:反轉鏈表 1. 題目描述 輸入一個鏈表,反轉鏈表後,輸出新鏈表的表頭。 2. 解題思路 定義三個指針: 第一個指針指向當前正在處理的節點; 第二個指針指向當前處理節點的下一個節點,該指針是爲了保證正常的遍歷完順序鏈表的

原创 java 對稱的二叉樹

1. 對稱的二叉樹 1. 題目描述 請實現一個函數,用來判斷一顆二叉樹是不是對稱的。注意,如果一個二叉樹同此二叉樹的鏡像是同樣的,定義其爲對稱的。 2. 解題思路 可以按照類似層次遍歷,來判斷是否是堆成二叉樹: 首先根節點以及其左

原创 java 調整數組順序使奇數位於偶數前面

1. 題目描述 輸入一個整數數組,實現一個函數來調整該數組中數字的順序,使得所有的奇數位於數組的前半部分,所有的偶數位於數組的後半部分,並保證奇數和奇數,偶數和偶數之間的相對位置不變。 2.解題思路 (1)第一個思路:類似冒泡算法,前

原创 java 鏈表中倒數第k個結點

1. 題目描述 輸入一個鏈表,輸出該鏈表中倒數第k個結點。 2. 解體思路 方法一:簡單來說就是先遍歷整個鏈表的長度L,然後根據k,從頭節點開始遍歷,到L-k,得到相應的節點。 方法二:兩個指針,先讓第一個指針和第二個指針都指向頭結點

原创 python中的輕量級定時任務調度庫:schedule

提到定時任務調度的時候,相信很多人會想到celery,要麼就寫個腳本塞到crontab中。不過,一個小的定時腳本,要用celery的話太“重”了。所以,我找到了一個輕量級的定時任務調度的庫:schedule。 任務調度,輕量級的定時任

原创 基於LSTM的研報分類系統

關於lstm的文本分類可以參考:https://blog.csdn.net/lilong117194/article/details/82217271 下面是基於東方財富中宏觀研究的研報分類系統介紹: 東方財富宏觀研究網址:http:

原创 Mac的控制檯命令行報錯:command not found

這裏只需要用戶權限: 進入當前用戶的home目錄: cd ~ 創建bash_profile 執行命令: touch .bash_profile 打開並編輯bash_profile 執行命令: open .bash_pr

原创 java靜態內部類瞭解一下

1. java內部類 什麼是內部類?將一個類的定義放在另一個類的內部,就是內部類。Java的內部類主要分爲成員內部類、局部內部類、匿名內部類、靜態內部類。 public class 外部類的名稱{ //外部類的成員 p

原创 Java 數值的二進制中1的個數和整數次方

1. 數值的二進制中1的個數 1.1 題目描述 輸入一個整數,輸出該數二進制表示中1的個數。其中負數用補碼錶示。 1.2 解題思路 思路一:直接使用java自帶的函數Integer.toBinaryString().toCharArr

原创 java 簡單跳臺階和變態跳臺階

1. 簡單跳臺階 1.1 題目描述 一隻青蛙一次可以跳上1級臺階,也可以跳上2級。求該青蛙跳上一個n級的臺階總共有多少種跳法(先後次序不同算不同的結果)。 1.2 解題思路 對於本題,有題目描述可知,每次只能跳一個或者兩個臺階,下面找

原创 Java 斐波那契數列

1. 題目描述 大家都知道斐波那契數列,現在要求輸入一個整數n,請你輸出斐波那契數列的第n項(從0開始,第0項爲0)。 n<=39 2. 解題思路 這裏要注意是從0開始的,而且第0項爲0。 3. 代碼: public class Fi

原创 重建二叉樹

1. 題目描述 輸入某二叉樹的前序遍歷和中序遍歷的結果,請重建出該二叉樹。假設輸入的前序遍歷和中序遍歷的結果中都不含重複的數字。例如輸入前序遍歷序列{1,2,4,7,3,5,6,8}和中序遍歷序列{4,7,2,1,5,3,8,6},則

原创 用兩個棧實現隊列

1. 題目描述 用兩個棧來實現一個隊列,完成隊列的Push和Pop操作。 隊列中的元素爲int類型。 2. 解題思路 入隊:將元素進棧A 出隊:判斷棧B是否爲空,如果爲空,則將棧A中所有元素pop,並push進棧B。 如果棧B不爲空

原创 Java 矩形覆蓋

1. 題目描述 我們可以用21的小矩形橫着或者豎着去覆蓋更大的矩形。請問用n個21的小矩形無重疊地覆蓋一個2*n的大矩形,總共有多少種方法? 2. 解題思路 當要覆蓋2*1的大矩陣時:只有一種方式即f(1) = 1 當要覆蓋2*2