原创 hive簡單查詢

select完整格式 完整格式如下 select [distinct] 字段名 from 表名 where 查詢條件 group by 分組字段 having 篩選條件 order by 排序字段 limit 限制條件

原创 hive join查詢

數據準備 首先準備兩張表 員工表和部門表 員工表數據 表示員工姓名和所在部門 shy 銷售 zoom 銷售 penut 銷售 jack 測試 ning 測試 tom 開發 duke 開發 jkl 財務 rookie 財務

原创 hive長錶轉寬表

需求分析 本地原始數據 name message value tom age 18 tom sex 男 tom address 西安 jack age 25 jack sex 女 jack address 重慶 轉換後數據

原创 hive行轉列與列轉行

簡單行轉列 將一個融合多個信息的字段拆分爲多行 aaa,bbb,ccc ===> aaa bbb ccc 實現方法:利用內置UDTF函數exp

原创 1-6 漢諾塔問題的改進

題目描述 漢諾塔問題的改進。 有三根杆子A,B,C。A杆上有N個(N>1)穿孔圓盤,盤的尺寸由下到上依次變小。要求按下列規則將所有圓盤移至C杆: 每次只能移動一個圓盤; 大盤不能疊在小盤上面。 提示:可將圓盤臨時置於B杆,也可將

原创 1-2 兩個棧模擬一個隊列

題目描述 用兩個棧模擬一個隊列,實現隊列基本的入隊,出隊,取隊頭的功能。 解題方法1 首先準備兩個棧s1和s2,s1作爲壓入棧,s2作爲彈出棧。而且必須滿足,將s1數據轉給s2時必須一次性全部轉完,如果s2還有數據就不能把s

原创 2-2刪除單鏈表倒數第k個節點

題目描述 刪除單鏈表倒數第k個節點,要求時間複雜度爲n,空間複雜度爲1。 解題方法1 最簡單的方法,先將鏈表遍歷一遍求出鏈表長度n,那麼倒數第k個節點其實就是第n-k+1個節點。 然後再次遍歷鏈表找到待刪除的節點和刪除節點前

原创 1-8 數組的maxtree

題目描述 一個數組的maxtree定義如下: 數組沒有重複元素,包括maxtree在內的每個子樹都是根節點最大,而且maxtree是二叉樹。 給定一個沒有重複元素的數組arr,要求生成這個數組對應的maxtree,且時間複雜度和

原创 1-1 帶有getmin功能的棧

題目描述 實現一個特殊的棧,在實現棧基本功能的基礎上,再實現返回棧中最小元素的操作。 要求push,pop,getmin的操作時間複雜度都是 1。 設計的棧類型可以使用現成的棧結構。 解題嘗試 自己最初的設想是在棧中增加一個

原创 Java爬蟲新浪微博的帖子

需求分析 最近新型肺炎肆虐寒假在家閒來無事就突發奇想,爬取新浪微博中與肺炎患者自救有關的帖子以texcel形式保存起來做一些分析。 經過一番折騰,最終使用webMagic框架成功爬取了200個微博頁面共3263條帖子。 立圖爲證

原创 1-7 生成窗口最大值數組

題目描述 計算生成窗口最大值數組 有一個整型數組arr和一個大小爲w的窗口從數組最左邊滑到最右邊。 現在要求實現一個函數,輸入整型數組arr和窗口長度w,輸出一個最大值數組res記錄每個窗口的最大值。 解題方法1

原创 2-4反轉鏈表

題目描述 反轉單鏈表 解題方法1 遍歷鏈表,利用頭插法將節點依次插入到頭節點之後。 public class Test { public static void main(String[] args) throws

原创 2-7迴文鏈表

題目描述 判斷一個鏈表是否爲迴文結構 例如 1 2 1 返回true,1 2 3 返回false。 解題方法1 可以使用棧來解決,首先遍歷鏈表求表長。然後將鏈表前一半節點元素依次入棧,然後再依次出棧與後續遍歷節點進行比較

原创 2-12尋找相交鏈表的相交節點

題目描述 兩個單鏈表,它們可能相交也可能不相交,傳入兩個頭節點,如果相交返回第一個相交節點,如果不相交返回null。 如果兩個鏈表相交,從相交節點往後的部分是兩個鏈表共享的。 解題方法1 最簡單的方法可以使用哈希表,依次遍歷

原创 2-8按值劃分鏈表

題目描述 給定一個鏈表頭節點和一個整數pivot,將這個鏈表調整爲左邊都是小於pivot的節點,中間都是等於pivot的節點,右邊都是大於pivot的節點。 解題方法1 我們可以申請一個node引用類型的數組,將原鏈表的節點