原创 根據書單來製作item2vec

數據和工具 1. glove:http://nlp.stanford.edu/projects/glove/ 2. 書單數據:待審覈 代碼 # -*- coding: utf-8 -*- from __future__ import

原创 【劍指Offer】19.順時針打印矩陣

題目描述 輸入一個矩陣,按照從外向裏以順時針的順序依次打印出每一個數字。 解題思路 沒有涉及複雜的數據結構或者高級的算法,但是要包含多個循環,還需要判斷多個邊界條件。需要先把問題考慮清楚,最後纔開始寫代碼。 關鍵點:形成清晰的思路,把複雜

原创 【劍指Offer】20.包含min函數的棧

題目描述 定義棧的數據結構,請在該類型中實現一個能夠得到棧中所含最小元素的min函數(時間複雜度應爲O(1))。 注意:保證測試中不會當棧爲空的時候,對棧調用pop()或者min()或者top()方法。 解題思路 第一反應:每次壓入一個新

原创 【劍指Offer】10.矩形覆蓋

題目描述 我們可以用2*1的小矩形橫着或者豎着去覆蓋更大的矩形。請問用n個2*1的小矩形無重疊地覆蓋一個2*n的大矩形,總共有多少種方法? 解題思路 逆向分析,因爲可以橫着放或豎着放,所以f(n)可以是2*(n-1)的矩形加一個豎着放的

原创 【劍指Offer】13.調整數組的順序使奇數放在偶數的前面

題目描述 輸入一個整數數組,實現一個函數來調整該數組中數字的順序,使得所有的奇數位於數組的前半部分,所有的偶數位於數組的後半部分,並保證奇數和奇數,偶數和偶數之間的相對位置不變。 解題思路 最簡單的方法:從頭掃描這個數組,每碰到一個偶數時

原创 【劍指Offer】15.反轉鏈表

題目描述 輸入一個鏈表,反轉鏈表後,輸出新鏈表的表頭。 解題思路 通過循環,將鏈表反轉 代碼 # -*- coding:utf-8 -*- # class ListNode: # def __init__(self, x):

原创 【劍指Offer】25.複雜鏈表的複製

題目描述 輸入一個複雜鏈表(每個節點中有節點值,以及兩個指針,一個指向下一個節點,另一個特殊指針random指向一個隨機節點),請對此鏈表進行深拷貝,並返回拷貝後的頭結點。(注意,輸出結果中請不要返回參數中的節點引用,否則判題程序會直接返

原创 【劍指Offer】22.從上往下打印二叉樹

題目描述 從上往下打印出二叉樹的每個節點,同層節點從左至右打印。 解題思路 考察的是樹的遍歷算法,不太像之前的前序、中序或者後序遍歷,這是一種按層遍歷的方式。 按層遍歷:先打印根結點,所以從樹的根節點開始分析,爲了打印值爲8的結點的兩個子

原创 xgboost預測報錯: Check failed: offset.back() == value.size()

報錯信息 1.  xgboost.core.XGBoostError: b'[15:53:47] /workspace/dmlc-core/src/data/./row_block.h:177: Check failed: offset

原创 【劍指Offer】16.合併兩個排序的鏈表

題目描述 輸入兩個單調遞增的鏈表,輸出兩個鏈表合成後的鏈表,當然我們需要合成後的鏈表滿足單調不減規則。 解題思路 最經常犯的錯誤: 寫代碼之前沒有對合並的過程想清楚,最終合併出來的鏈表要麼中間斷開了,要麼沒有做到遞增排序 代碼在魯棒性方面

原创 【劍指Offer】23.二叉搜索樹的後序遍歷序列

題目描述 輸入一個整數數組,判斷該數組是不是某二叉搜索樹的後序遍歷的結果。如果是則輸出Yes,否則輸出No。假設輸入的數組的任意兩個數字都互不相同。 解題思路 後序遍歷得到的序列中,最後一個數字是樹的根節點的值,數組中前面的數字可以分爲兩

原创 【劍指Offer】21.棧的壓入、彈出序列

題目描述 輸入兩個整數序列,第一個序列表示棧的壓入順序,請判斷第二個序列是否可能爲該棧的彈出順序。假設壓入棧的所有數字均不相等。例如序列1,2,3,4,5是某棧的壓入順序,序列4,5,3,2,1是該壓棧序列對應的一個彈出序列,但4,3,5

原创 【劍指Offer】17.樹的子結構

題目描述 輸入兩棵二叉樹A,B,判斷B是不是A的子結構。(ps:我們約定空樹不是任意一個樹的子結構) 解題思路 分爲兩步: 第一步在樹A中找到和B的根節點的值一樣的結點R,可以用遞歸來實現 第二步再判斷樹A中以R爲根節點的子樹是不是包含和

原创 【劍指Offer】11.二進制中1的個數

題目描述 輸入一個整數,輸出該數二進制表示中1的個數。其中負數用補碼錶示。   解題思路 如果一個整數不等於0,那麼該整數的二進制表示中至少有一位是1。先假設這個數的最右邊一位是1,那麼減去1時,最後一位變成0而其他位都保持不變。也就是最

原创 【Pyspark】Pyspark的常見命令

常見命令 初始化會話 添加本地文件 讀取表 過濾數據 看數量 提交到yarn from pyspark.sql import SparkSession from pyspark.sql import functions as F # 初