原创 N皇后問題(回溯遞歸)

Problem 八皇后問題是一個以國際象棋爲背景的問題:如何能夠在 8×8 的國際象棋棋盤上放置八個皇后,使得任何一個皇后都無法直接喫掉其他的皇后?爲了達到此目的,任兩個皇后都不能處於同一條橫行、縱行或斜線上。 Solution

原创 揹包問題

01揹包問題 N件物品和一個容量爲V的揹包,第i個物品的價值爲w[i] ,體積爲c[i] ,求解哪些物品裝入揹包價值最大。 0-1揹包:沒見物品只有一個,要麼裝入要麼不裝入。 Solution 1 二維數組 dp問題,定義遞歸式

原创 KMP算法-字符串匹配

本博客內容參照http://blog.csdn.net/v_july_v/article/details/7041827 Problem 假設現在我們面臨這樣一個問題:有一個文本串S,和一個模式串P,現在要查找P在S中的位置,怎麼

原创 尋找最小k個數或者尋找第K大的數字

Problem 輸入n個整數,找出最小的前k個數字(或者第K大的數字),例如輸入4,5,1,6,2,7,3,8這八個數,則輸出最小4個數是1,2,3,4. Solution A O(n)解法,需要修改輸入數組。 可以採用快速排序

原创 Add Two Numbers

題目描述: You are given two linked lists representingtwo non-negative numbers. The digits are stored in reverse order and e

原创 字符串全排列問題(遞歸回溯)

ProblemA:無重複字符 輸入一個字符串,打印出該字符串的所有排列,所有字符串不相同。 SolutionA 問題拆解,將求排列問題看成兩步: step1:求所有可能出現在第一個位置的字符,即把第一個字符與後面的字符依次交換依

原创 Bad horse(圖的廣度遍歷解法)

Problem As the leader of the Evil League of Evil, Bad Horse has a lot of problems to deal with. Most recently, ther

原创 KNN算法理解

一、算法概述 1、kNN算法又稱爲k近鄰分類(k-nearest neighbor classification)算法。 最簡單平凡的分類器也許是那種死記硬背式的分類器,記住所有的訓練數據,對於新的數據則直接和訓練數據匹配,如果存在

原创 字符串組合問題(無重複)

Problem 輸入一個字符串,輸出該字符串中字符的所有組合,任意兩個字符不相同。舉個例子,如果輸入”abc”,它的組合有a、b、c、ab、ac、bc、abc。 Solution 輸入n個字符,則這n個字符能分別構成程度爲1~n的

原创 m-圖着色問題(貪心解法)

problem 圖的m色優化問題:給定無向連通圖G,爲圖G的各頂點着色, 使圖中任2鄰接點着不同顏色,問最少需要幾種顏色。所需的最少顏色的數目m稱爲該圖的色數。 圖的m色判定問題: 給定無向連通圖G和m種顏色。用這些顏色爲圖G的

原创 Moist (cin,getline的區別)

Problem Moist has a hobby – collecting figure skating trading cards. His card collection has been growing, and it i

原创 維特比算法C++實現

概述 維特比算法用來解決HMM的預測問題(解碼decoding),即已知模型HMM和觀測序列O=(O1,O2,...On) ,求對給定觀測序列條件概率P(I/O) 的最大狀態序列I=(I1,I2,...In) . 維特比算法實際用

原创 Fibonacci數列與跳臺階問題

Problem 一個臺階總共有n級,一次可以跳一格,也可以跳兩格,問總共有多少種跳法。 Solution 以F(n)表示n級臺階的跳法總數。 n=1時,只有一種跳法,一次跳一格。 n=2時,有兩種跳法。跳法1:跳兩步每次一格;

原创 棋盤移動最短路徑問題(Dijkstra算法)

Problem 給定一個矩陣A[m][n] ,矩陣上各點的值爲移動到該點的代價,每次可以從該點的對角線或直線方向移動一格,求從點A[0][0]移動到點A[m-1][n-1]的最小代價。 比如矩陣,求從左上角的1移動到右下角的1的

原创 Median of Two Sorted Arrays

題目描述: There are two sorted arrays nums1 and nums2 of size m and n respectively. Find the median of the two sorted array