原创 Remove Element -LeetCode
Given an array and a value, remove all instances of that value in place and return the new length. The order of element
原创 LeetCode——Linked List Cycle II
若同時從一個環的某個點出發,fast指針每次走兩步,slow指針每次走一步,則可證明slow指針走回起點時,fast指針也恰好到達起點。兩種思路:一、fast指針每次比slow指針多走一步,fast指針想與slow指針同時到
原创 Best Time to Buy and Sell Stock——LeetCode
原題地址:https://leetcode.com/problems/best-time-to-buy-and-sell-stock/ 內容都在代碼和註釋裏,就不羅嗦了。 class Solution {
原创 LeetCode——Word Break
這題用暴力匹配的方法做會比較麻煩,需要考慮各種情況,效率也很低,所以採用動態規劃來做,代碼的簡潔性和效率都有較大提高。 這是討論區裏某位童鞋提供的解法: class Solution { public:
原创 Excel Sheet Column Number -LeetCode
這題是真的簡單了,分分鐘的事,所以本文當然不是講這題的算法思路啥的。我想學python,所以這題是講怎麼用python實現的。實現的方法有很多,python應該也可以和C/C++一樣,通過數組下標來操作字符數組,這樣就沒什麼
原创 Bitwise AND of Numbers Range——LeetCode
class Solution { public: /* mask的32位全爲1,mask<<i是將mask的後i位置0,此時m或n和mask進行與操
原创 LeetCode——Count Complete Tree Nodes
這個也是討論區裏別人的代碼,爲免侵權之類的,先在此聲明。 /** * Definition for a binary tree node. * struct TreeNode { * int val; *
原创 堆排序
堆是一種完全二叉樹,分爲小根堆和大根堆。大根堆中任意節點的值都不大於其父節點的值。有些類似於二叉搜索樹,都是要求父節點和子節點的值滿足某種關係。 堆排序的基本思想是,先用所給數據建立大根堆,堆頂元素即爲最大
原创 Search in Rotated Sorted Array——LeetCode
這道題在LeetCode上是Hard類的,首先聲明,代碼是別人的,我只是解釋一下。 class Solution { public: /* 如果數組是有序的,那麼大家都會想到並使用二分搜索,但本題設置了這樣一個障礙:
原创 boost併發編程(一)——互斥鎖
這個系列其實是《Boost程序庫完全開發指南》的讀書筆記。按照書中的方法代碼沒跑起來,所以轉到Ubuntu下學習了。boost庫在Ubuntu下的安裝,直接用apt-get install命令安裝就可以了,需要安裝libb
原创 博文轉載
http://www.cnblogs.com/felixfang/p/3814463.htmlhttp://blog.csdn.net/hcbbt/article/details/10454947http://www.cnblogs
原创 struct net
1 /* 2 * Operations on the network namespace 3 */ 4 #ifndef __NET_NET_NAMESPACE_H 5 #define __NET_NET_NAMESPA
原创 Jump Game-Leetcode
這題仍然是考察算法和思路的,有思路了實現並不難。 class Solution { public: /* 若∃ index < nums.size()-1, 使index+nums[index] >= nu
原创 gas station-Leetcode
這題還是比較有意思的,會用到一些結論和性質,代碼並不複雜。自己懶得寫證明了,轉載了別人的文章。 主要利用的性質就是:1.如果∑gas[i] >= ∑cost[i],則一定存在解,且題目保證解唯一;2.若在某
原创 可變函數參數
C語言中一般的函數參數都是固定的,包括參數數量和參數類型,但有時參數的數量在執行期前無法確定,該怎麼辦呢?C語言提供了可變參數的語法,大家最熟悉和常用的函數printf()就是可變參數函數: int printf( c