原创 LeetCode 31.Next Permutation

31.Next Permutation 本題主要想介紹 inplace 的交換數據該如何實現。 在c++中,可以通過位操作來實現這一點。 關於位操作,常用的技巧是 一個 0XF 是四個1,這裏需要16個1,所以0XFFFF。前把

原创 tf-idf使用-提取文章關鍵詞-搜索文章

tf-idf 使用 我們的目標是提取一篇文章中的關鍵詞 or 給出關鍵詞,在語料庫中找到這組關鍵詞最相近的文章。 兩個目標要解決的問題是差不多的。今天用一種很簡單卻很有效的方法來解決這個問題, TF-IDF。在本文,我們選取第二種

原创 方便好用的 Beautifulsoup

Beautiful soup 使用方法 Introduction Beautiful Soup 是一個能從html或xml文件中,提取數據的python庫 目前主流的版本是bs4,bs3已經不再支持 本文以在 html 中查找

原创 【劍指**】5.替換空格

5. 替換空格 題目描述 請實現一個函數,將一個字符串中的空格替換成“%20”。例如,當字符串爲We Are Happy.則經過替換之後的字符串爲We%20Are%20Happy。 思路 思路就是書上的思路。兩個指針操作。 傳

原创 【劍指**】6.從尾到頭打印鏈表

6.從尾到頭打印鏈表 題目描述 輸入一個鏈表,從尾到頭打印鏈表每個節點的值。 題目很經典,因此本文用三種方法來處理。(嚴格來說算2種) 思路1 先順序輸出鏈表數據,然後翻轉輸出的結果。 /** * struct ListNod

原创 【劍指**】19.正則表達式匹配

19.正則表達式匹配 題目描述 請實現一個函數用來匹配包括'.'和'*'的正則表達式。模式中的字符'.'表示任意一個字 符,而'*'表示它前面的字符可以出現任意次(包含0次)。 在本題中,匹配是指字符串的 所有字符匹配整個模式。例

原创 【劍指**】23.鏈表中環的入口節點

23.鏈表中環的入口節點 題目描述 一個鏈表中包含環,請找出該鏈表的環的入口結點。 沒有環則返回空。 分析 思路和《劍指offer》上的一樣。分三個步驟。 第一步,判斷鏈表中是否存在環。 第二步,判斷環的大小 第三步,得到環的入口

原创 【劍指**】7.重建二叉樹

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

原创 二叉樹的三種遍歷-中序-前序-後序

二叉樹的三種遍歷:中序,前序,後序 /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *l

原创 LeetCode 102. Binary Tree Level Order Traversal

102. Binary Tree Level Order Traversal 二叉樹層序遍歷 考察 BFS 的寫法。 層序遍歷,每行從左到右的方向輸出數組元素。 在這道題的基礎上,還可以擴展出其他類型的層序遍歷,例如 Z 字遍

原创 【劍指**】21.調整數組順序使奇數位於偶數前面

21.調整數組順序使奇數位於偶數前面 題目描述1 輸入一個整數數組,實現一個函數來調整該數組中數字的順序,使得所有的奇數位於數組的 前半部分,所有的偶數位於位於數組的後半部分. 分析 題目描述1是《劍指OFFER》上給出的描述。只

原创 【劍指**】12.矩陣中的路徑

12.矩陣中的路徑 思路源自書上的。回溯法 但是有一個問題,我仿照書上的代碼,自己寫了一遍,邏輯一模一樣,只是個別變量不同。但是 牛客網上 怎麼搞也通不過。用書上的代碼是可以通過的。 對比了半天也沒發現區別所在。不知道是代碼的問

原创 浮點數的比較 C++

浮點數的比較 C++ 用 “==” 來比較浮點數。返回的數是不確定的。計算機對浮點數的進行計算的原理是隻保證必要精度內正確即可。 我們在判斷浮點數相等時,推薦用範圍來確定,若x在某一範圍內,我們就認爲相等,至於範圍怎麼定義,要看實

原创 13.機器人的運動範圍

13.機器人的運動範圍 題目和代碼來自書上 以下是牛客網上ac過的代碼 class Solution { public: int movingCount(int threshold, int rows, int cols)

原创 【劍指**】17.打印從1到最大的n位數

17.打印從1到最大的n位數 題目描述 輸入數字n,按順序打印出從1到最大的n位十進制數。比如輸入3,則打印出1,2,3一直到最大的3位數999. 思路分析 考查大數的表示與計算. 代碼 代碼將分爲3個模塊。增長數字。打印數字。