原创 [leetcode]75. Sort Colors

題目地址 https://leetcode.com/problems/sort-colors/ 題目大意 一個含有n個整數數組,元素由0 1 2構成,排列隨機。在O(n)時間複雜度,O(1)空間複雜度下,將其按升序排序。 解題思路

原创 [leetcode]93. Restore IP Addresses

題目地址 https://leetcode.com/problems/restore-ip-addresses/ 題目大意 給一串全是數字的字符串,在其中添加三個.使其成爲合法的點分十進制IP地址,返回所有的可能。 解題思路 將字

原创 [leetcode]69. Sqrt(x)

題目地址 https://leetcode.com/problems/sqrtx/ 題目大意 寫一個函數,求x的方根,輸入和返回都是int 解題思路 看到輸入返回都是int,第一反應就是一個在0到x的線性空間的搜索問題。使用二分查

原创 linux 遞歸生成兩個目錄的diff

一條命令 diff -c -a -b -B -r -q A B > AB.diff diff 命令 man -a 所有的文件都視爲文本文件來逐行比較,甚至他們似乎不是文本文件. -b 忽略空格引起的變化. -B

原创 [leetcode]41. First Missing Positive

題目地址 https://leetcode.com/problems/first-missing-positive/ 題目大意 一個整數數組,裏面數字是無序的,在O(n)的時間複雜度,O(1)的空間複雜度下,找出最小的,沒有在數組

原创 virtualbox共享文件夾使用

宿主機是windows,虛擬機是ubuntu,如何使用 virtualbox 的共享文件夾呢? 很簡單,在virtualbox 的設置中添加了共享文件夾後,打開 ubuntu 的終端,然後輸入 sudo mkdir /mnt/s

原创 ubuntu12.04 安裝 gcc-4.8

轉自:http://www.cnblogs.com/zhuyp1015/p/3533613.html sudo add-apt-repository ppa:ubuntu-toolchain-r/test sudo apt-ge

原创 cmake添加搜索路徑

cmake 在 find_path 和 find_library 時,會搜索一些默認的路徑。當我們將一些lib安裝在非默認搜索路徑時,cmake就沒法搜索到了。這是我們需要添加路徑。方法如下: set(CMAKE_INCLUDE_

原创 docker實用命令(持續更新)

進入已經運行的容器 docker exec -it {container_id} /bin/bash 將容器變成一個鏡像 docker commit {container_id} [REPO/]NAME[:TAG] 爲鏡

原创 chromium編譯過程記錄

序 最近因爲項目的需要,要了解一下chromium,就在linux下編譯了一下chromium。本身來講,得益於google的編譯系統,編譯chromium是十分簡單的。但是因爲“牆”存在,編譯中還是遇到了一些問題。在此記錄一下。

原创 C++臨時變量的生命週期

轉自:http://www.cnblogs.com/catch/p/3251937.html C++ 中的臨時變量指的是那些由編譯器根據需要在棧上產生的,沒有名字的變量。主要的用途主要有兩類: 函數的返回值, 如: strin

原创 [effective modern c++][5]與其使用顯示類型推斷不如使用auto

優勢 防止忘記初始化變量 int x1; // 忘記初始化 auto x2; // error auto x3 = 0; // correct 防止寫過長的顯示類型 template<typename

原创 [effective modern c++][1]理解模板類型推斷

序 c++11 最終要的是拓展了類型推斷(type deduction)使用的地方,比如auto,decltype等。所以要詳細的理解類型推斷,以正確的使用。 類型推斷時,在如下代碼中,我們要確定T和ParamType的類型。 temp

原创 [effective modern c++][2]理解auto類型推斷

與模板類型推斷的比較 對於花括號({val_a, val_b, val_c})變量,auto推斷爲std::initializer_list,而模板不會這麼做。所以會有如下情況發生: template<typename T> void f

原创 mac下使用aria2下載百度雲文件

序 廢話不多說,題目很直白,直接開始 安裝 需要安裝三個東西 aria2 # install brew install aria2 # start sudo touch /Users/yourname/Downloads/sessio