原创 圖論基礎---無向圖的建立(矩陣和鏈表兩種形式)

首先給出矩陣的,代碼如下: #include<iostream> #include<string> using namespace std; typedef char verTexType; typedef bool edgeType

原创 Leetcode--171 Excel表列序號

給定一個Excel表格中的列名稱,返回其相應的列序號。 例如, A -> 1 B -> 2 C -> 3 ... Z -> 26 AA -> 27 AB -> 28 ..

原创 最短路徑問題---Dijkstra算法詳解

文章作者爲Ouyang_Lianjun,感覺很不錯所以就轉了 1、最短路徑問題介紹 問題解釋: 從圖中的某個頂點出發到達另外一個頂點的所經過的邊的權重和最小的一條路徑,稱爲最短路徑 解決問題的算法: 迪傑斯特拉算法(Dijk

原创 POJ--2760 最長升序子序列

一個數的序列bi,當b1 < b2 < ... < bS的時候,我們稱這個序列是上升的。對於給定的一個序列(a1, a2, ..., aN),我們可以得到一些上升的子序列(ai1, ai2, ..., aiK),這裏1 <= i1 < i

原创 Leetcode102--二叉樹的層次遍歷

給定一個二叉樹,返回其按層次遍歷的節點值。 (即逐層地,從左到右訪問所有節點)。 例如: 給定二叉樹: [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7

原创 Leetcode--53 最大子序和

給定一個整數數組 nums ,找到一個具有最大和的連續子數組(子數組最少包含一個元素),返回其最大和。 示例: 輸入: [-2,1,-3,4,-1,2,1,-5,4], 輸出: 6 解釋: 連續子數組 [4,-1,2,1] 的和最大,爲

原创 Leetcode--257 二叉樹的所有路徑

給定一個二叉樹,返回所有從根節點到葉子節點的路徑。 說明: 葉子節點是指沒有子節點的節點。 示例: 輸入: 1 / \ 2 3 \ 5 輸出: ["1->2->5", "1->3"] 解釋: 所有根節點到

原创 Leetcode--60 第k個排列

題幹: 給出集合 [1,2,3,…,n],其所有元素共有 n! 種排列。 按大小順序列出所有排列情況,並一一標記,當 n = 3 時, 所有排列如下: "123" "132" "213" "231" "312" "321" 給定 n 和 

原创 關於python中yield關鍵字的一些個人理解

之前在別人的一些code和python爬蟲的學習中經常遇到這個關鍵字,一開始以爲和循環沒有什麼區別,後來粗略地看了一下說明,結果越看越迷糊,加之發現了自己存在的知識漏洞,因此不得不好好學習一下相關概念要理解yield,就必須先理解迭代(i

原创 鏈表的反轉(遞歸實現)

此處明確了實現的方法,另外非遞歸(迭代)的方法也可行。首先我們需要知道一些基礎知識--即遞歸的相關概念。遞歸(Recursion)即函數自己調用自己,若問題可以使用遞歸來解決,則必須滿足以下三個條件:1.可以要把解決的一個問題轉化爲一個新

原创 leetcode--89 格雷編碼

格雷編碼是一個二進制數字系統,在該系統中,兩個連續的數值僅有一個位數的差異。給定一個代表編碼總位數的非負整數 n,打印格雷碼序列。格雷碼序列必須以 0 開頭。例如,給定 n = 2,返回 [0,1,3,2]。其格雷編碼是:00 - 0 0

原创 leetcode-830 Positions of Large Groups

Description:In a string S of lowercase letters, these letters form consecutive groups of the same character.For example

原创 [HDU] 火柴棒等式

Description:給你n根火柴棍,你可以拼出多少個形如“A+B=C”的等式?等式中的A、B、C是用火柴棍拼出的整數(若該數非零,則最高位不能是0)。用火柴棍拼數字0-9的拼法如圖所示: 注意: 1. 加號與等號各自需要兩根火柴棍 2

原创 leetcode--29 兩數相除

Description:給定兩個整數,被除數 dividend 和除數 divisor。將兩數相除,要求不使用乘法、除法和 mod 運算符。返回被除數 dividend 除以除數 divisor 得到的商。示例 1:輸入: dividen

原创 LeetCode--78 子集

Description:給定一組不含重複元素的整數數組 nums,返回該數組所有可能的子集(冪集)。說明:解集不能包含重複的子集。示例:輸入: nums = [1,2,3] 輸出: [ [3],   [1],   [2],   [1,