原创 快排多版本
前言: 相信,經過本人之前寫的前倆篇關於快速排序算法的文章:第一篇、一、快速排序算法,及第二篇、一之續、快速排序算法的深入分析,各位,已經對快速排序算法有了足夠的瞭解與認識。但僅僅停留在對一個算法的認識層次上,顯然是不夠的,
原创 [leetcode]sort list
/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x)
原创 ★ Linked List Cycle II -- LeetCode
證明單鏈表有環路: 本文所用的算法 可以 形象的比喻就是在操場當中跑步,速度快的會把速度慢的扣圈 可以證明,p2追趕上p1的時候,p1一定還沒有走完一遍環路,p2也不會跨越p1多圈才追上 我們可以從p2和p1的位置差距來證明,p2一定會趕
原创 single number i
class Solution { //using xor bit manipulation public: int singleNumber(int A[], int n) { // Note: The Solu
原创 堆-c++
/********************************************************************** *版權所有 (C)2014, cy。 * *文件名稱:堆.cpp *內容摘要:無 *其它說明
原创 map映射容器應用-數字和字符轉換
在很多情況下,需要實現將數字映射爲相應的字符 #include <map> #include <string> #include <iostream> using namespace std; int main() { map<int,
原创 一種高效的求平均數的算法
傳統的求平均是先求sum,此種方法(avg += (x - avg) / i;)就避免了求和的溢出 #include<iostream> using namespace std; int main(int agrc, char*agr
原创 STL-deque
deque雙端隊列容器,同vector採用線性順序存儲結構,但,採用的是分塊線性存儲結構,所有的deque用一個map塊管理 , deque的插入:*:任意元素(int。。。),it:迭代器 1、.push_back(*): 尾部添
原创 鏈表的建立
fstream fin("test.txt"); ListNode* head(0); int val = 0; while (fin >> val){ if (head == NULL){ head = new List
原创 *candy——leetcode
/* */ #include<iostream> #include<vector> //#include<algorithm> #include <windows.h> using namespace std; #define ST
原创 敏捷軟件開發之原則篇
1、我們最優化先要做的是通過儘早的、持續的交付有減脂的軟件來使客戶滿意。 2、即使到了開發的後期,也歡迎改變需求。敏捷過程利用變化來爲客戶創造競爭優勢。 3、經常性地交付可以工作的軟件,交付的間隔可以從幾周到幾個月,交付的時間間隔越短越好
原创 快速排序-c++(分別用數組和容器實現)
/********************************************************************** *版權所有 (C)2014, cheng yang。 * *文件名稱:快速排序.cpp 數組實
原创 acm-最大公約數/最小公倍數 快速算法
方法一:歐基裏德算法: #include <iostream> #include <fstream> using namespace std; int gcd(int, int); int main(int agrc, char*agvc
原创 C++11—引入nullprt
1. 引入nullptr的原因 引入nullptr的原因,這個要從NULL說起。對於C和C++程序員來說,一定不會對NULL感到陌生。但是C和C++中的NULL卻不等價。NULL表示指針不指向任何對象,但是問題在於,NULL不是關鍵字,而
原创 Copy List with Random Pointer -- LeetCode
本思路是這樣的,對鏈表進行三次掃描,第一次掃描對每個結點進行復制,然後把複製出來的新節點接在原結點的next,也就是讓鏈表變成一個重複鏈表,就是新舊更替;第二次掃描中我們把舊結點的隨機指針賦給新節點的隨機指針,因爲新結點都跟在舊結點的下一