原创 LeetCode309最佳買賣股票時機含冷凍期(動態規劃)

題目鏈接:leetcode309 思路:因爲本題中規定買入,賣出和冷凍操作,規定上一次賣出和下一次買入之間需要至少一天的冷凍期,因此我們定義三種狀態sell、buy和cooldown,分別對應了到第i天爲止最後一個操作是買入、

原创 LeetCode714買賣股票的最佳時機含手續費(動態規劃)

題目鏈接:leetcode714 思路:dp1[i]表示到達i位置手中持有股票的最大利潤,dp2[i]表示到達i位置手中不持有股票的最大利潤,狀態轉移:每次手中持有股票(或不持有)都能夠依賴於上一個相同狀態的集合,即dp1[i

原创 LeetCode338. 比特位計數(二進制+動態規劃)

題目鏈接:Leetcode338 思路: 利用x&x-1很容易從前一個少1的數遞推過來,複雜度O(n∗c)O(n*c)O(n∗c) class Solution { public: vector<int> count

原创 5.2.5三數取中劃分快速排序算法

前言 每次選三個數(第一個、最後一個、倒二個),以到二個作爲中位數進行分治排序 #include <bits/stdc++.h> using namespace std; #define ElemType int #define

原创 LeetCode91解碼方法(動態規劃)

LeetCode91 思路:dp[i]表示前i個數字能合法地轉成字母,字母的種類數 class Solution { public: int numDecodings(string s) { //dp[i

原创 LeetCode877. 石子游戲(博弈+動態規劃)

題目鏈接:Leetcode877 思路: dp[i][j]表示從下標i到j中去左邊和取右邊的最大值 轉移方程:dp[i][j]=max(dp[i+1][j]+val[i], dp[i][j-1]+val[j]); 顯然,根據這

原创 LeetCode343. 整數拆分(動態規劃)

Leetcode343 思路:狀態很好表示:dp[i]dp[i]dp[i]表示和爲i的拆分數字積的最大值。關鍵在於前一個狀態是拆了j數字,如果繼續往下拆則是dp[i−j]∗jdp[i-j]*jdp[i−j]∗j,如果只拆成兩部分

原创 最多連續數的子集(並查集+啓發式合併)

題目描述:給一個整數數組a[], 找到其中包含最多連續數的子集,比如給:15, 7, 12, 6, 14, 13, 9, 11,則返回: 5:[11, 12, 13, 14, 15] 思路:初始化每個樹子集一個集合,預處理每個數的

原创 二叉堆與堆排序總結

目錄前言性質抽象實現 前言 堆的數據結構是一個完全二叉樹,其能實現優先隊列的功能,主要的作用是能夠動態地維護一個有關優先級的序列,使其在插入和刪除都能在O(logn)O(logn)O(logn)時間內完成,查詢能在O(1)O(1

原创 LeetCode986. 區間列表的交集(貪心)

題目鏈接:Leetcode986 思路:貪心,由於排好序了,直接雙指針掃,思路和歸併排序合併比較類似,注意往後移動的條件是尾部,因爲一個矩形的結束條件是尾部比完了,不能寫成是頭部 class Solution { public:

原创 求n個閉區間的所有交集(貪心+線段樹)

問題描述:給你n個閉區間,輸出這n個開區間的所有交區間,可能存在一個子區間有多次重複,一個交區間的定義是至少有兩個大區間都包含它,並且答案集中要儘可能地把所有區間合併。注:爲了避免歧義,頭對尾交於一個點則不算交。 思路:這是對於

原创 LeetCode56. 合併區間(思維+貪心)

題目鏈接:Leetcode56 思路:貪心,先按左端點排序並且在左端點相同的情況下右端點靠近左邊的排前面,然後用雙指針訪問所有區間,當左端點大於前面的右端點說明兩個區間互斥了,要把之前的並區間推入答案集中,由於是按左端點爲第一關

原创 雙散列和再散列暨散列表總結(附理解)

原文鏈接:https://www.cnblogs.com/hongshijie/p/9443452.html 目錄雙散列再散列回顧總結 先說明一下,她們兩個屬於不同的範疇,雙散列屬於開

原创 哈希之開散列和閉散列

原文鏈接:https://blog.csdn.net/Yinghuhu333333/article/details/81364739 目的:實現一種結構,不經過任何

原创 二叉樹先序、中序遍歷序列確定後序序列

前言 關於二叉樹先、中、後遍歷序列給一箇中序序列以及其他一個就能夠推出另一個序列,而如果單單隻有先序與後序序列只能得到某兩個結點的父子關係而不能確定一個唯一的二叉樹。 算法 主要流程就是搜索,每次通過先序確定根節點,然後根據中序