原创 LintCode 字符串查找(暴力法+KMP)

URL:http://www.lintcode.com/zh-cn/problem/strstr/ 對於一個給定的 source 字符串和一個 target 字符串,你應該在 source 字符串中找出 target 字符

原创 Go語言進行web開發(一) 搭建一個簡單的web服務器

Go語言也被成爲“自帶電池”的語言,有大量的web相關工具集成在其中,構建web應用成了一件信手拈來的事情,只要調用http包的兩個函數就可以了。 package main import ( "fmt" "net

原创 C++中的Unicode編碼:wchar, UTF-8,UTF-16,UTF-32

C++在C11標準中加入了對Unicode編碼的支持,新增了wchar_t、char16_t、char32_t內置數據類型。 cout << sizeof(char) << endl; cout << sizeof

原创 Go語言學習 面向對象

首先,我們先來看一段代碼示例 package main import "fmt" type Human struct { name string age int phone string } type

原创 LintCode 二分查找

給定一個排序的整數數組(升序)和一個要查找的整數target,用O(logn)的時間查找到target第一次出現的下標(從0開始),如果target不存在於數組中,返回-1。 題目地址:http://www.lintcod

原创 LintCode 二叉樹的最大節點

樣例 給出如下一棵二叉樹: 1 / \ -5 2 / \ / \ 0 3 -4 -5 返回值爲 3 的節點。 URL:http://

原创 LintCode 最大子數組(dp)

給定一個整數數組,找到一個具有最大和的子數組,返回其最大和。 樣例 給出數組[−2,2,−3,4,−1,2,1,−5,3],符合要求的子數組爲[4,−1,2,1],其最大和爲6 地址:http://www.lint

原创 Go語言進行web開發(二) Go中的Socket編程

8.1 Socket編程 在很多底層網絡應用開發者的眼裏一切編程都是Socket,話雖然有點誇張,但卻也幾乎如此了,現在的網絡編程幾乎都是用Socket來編程。你想過這些情景麼?我們每天打開瀏覽器瀏覽網頁時,瀏覽器進程怎麼和Web服務

原创 Go語言進行web開發(三) Go中的WebSocket編程

8.2 WebSocket WebSocket是HTML5的重要特性,它實現了基於瀏覽器的遠程socket,它使瀏覽器和服務器可以進行全雙工通信,許多瀏覽器(Firefox、Google Chrome和Safari)都已對此做了支持。

原创 Google C++ 風格指南 :儘可能用 sizeof(varname) 代替 sizeof(type).

5.18. sizeof Tip 儘可能用 sizeof(varname) 代替 sizeof(type). 使用 sizeof(varname) 是因爲當代碼中變量類型改變時會自動更新. 您或許會用 sizeof(type) 處

原创 《UNIX網絡編程》中五種I/O方式總結和對比

UNIX提供了五種不同的I/O模型: 阻塞式I/O模型 非阻塞式I/O模型 I/O複用模型 信號驅動式I/O模型 異步I/O模型 阻塞式I/O模型 阻塞式I/O模型是最基本的I/O模型。在默認情況下,所有套接字都是阻塞的,以數

原创 C++中lambda表達式(匿名函數)的用法

簡介 之前在看SICP《計算機程序的構造和解釋》一書的時候,中用了大量的Scheme語言(一種Lisp語言的方言)來解釋書中的函數式程序設計思想(只讀到第二章後半部。。。有空再補)。Scheme的一個主要特性是可以像操作數據一樣操

原创 C++ 11:delete關鍵詞和一條《Effective C++》的過時條款

在Scott Meyers的名著《Effective C++》中的條款5(瞭解C++默默編寫並調用了哪些函數)和條款6(若不想使用編譯器自動生成的函數,就應該明確拒絕)中提到以下幾點: 以一個簡單的類爲例: class base

原创 求絕對衆數

問題:絕對衆數指的是,給定N個數字,若某個衆數出現次數大於N/2,則稱這個衆數爲絕對衆數。 舉例: vec = {1,2,3,1,5,6,1,1,1,1},中有10個元素,1佔了6個,所以稱1爲絕對衆數 算法: 在N個元素中,

原创 C++中的委託構造

委託構造,就是構造函數調用其他的構造函數來完成構造過程,其他的構造函數寫在成員初始列表中。 using namespace std; class base{ private: int a; public: //非