原创 Leetcode1300—— 轉變數組後最接近目標值的數組和

考點:雙重二分 函數: max_element(vec.begin(),vec.end())返回指向最大元素的迭代器 lower_bound(vec.begin(),vec.end(),val)返回指向排好序數組的大於等於val的第一個元

原创 Leetcode15——三數之和爲0

伴隨着第二個數遞增時,第三個數遞減,所以採用雙指針: class Solution { public: vector<vector<int>> threeSum(vector<int>& nums) { int

原创 leetcode837——動態規劃

獲勝的概率只和下一輪開始前的得分有關,因此根據得分計算概率。 令dp[x]表示從x開始遊戲並獲勝的概率,目的是求dp[0]的值。 情況1: 當K<=x<=Min(N,K-1+W)時 dp[x]=1。當x>=Min(N,K-1+W)時dp[

原创 Leetcode66——對稱二叉樹

一個樹爲對稱的僅當兩棵子樹互爲鏡像,即要滿足: 1.子樹根節點值相等 2.每個樹的右子樹都與另一個樹的左子樹鏡像對稱。 有遞歸迭代兩種解法: 遞歸: /** * Definition for a binary tree node.

原创 leetcode——5419 兩個子序列的最大公共子集

題目鏈接: https://leetcode-cn.com/problems/max-dot-product-of-two-subsequences/ 動態規劃模板題 對每個i,j,需考慮 1.dp[i-1][j-1](已經被dp[i][

原创 leetcode——1139 最大的以1爲邊界的正方形

動態規劃變形題。 題目鏈接: https://leetcode-cn.com/problems/largest-1-bordered-square/ 1.只需考慮創建一個三維數組,dp[i][j][0]用以維護以i,j爲終止點的左連續1的

原创 Leetcode560——和爲K的子數組

給定一個整數數組和一個整數 k,你需要找到該數組中和爲 k 的連續的子數組的個數。 輸入:nums = [1,1,1], k = 2輸出: 2 , [1,1] 與 [1,1] 爲兩種不同的情況。 說明 : 數組的長度爲 [1, 20,0

原创 Leetcode84——柱狀圖中最大的矩形

題目描述: 給定 n 個非負整數,用來表示柱狀圖中各個柱子的高度。每個柱子彼此相鄰,且寬度爲 1 。 求在該柱狀圖中,能夠勾勒出來的矩形的最大面積。 方法一:暴力解法O(N^2)複雜度,超時,僅提供思路(踩坑) 直接枚舉每一段,找最小。

原创 線段樹成段更新+延遲標記法-杭電3911

#include <iostream> #include <cstdio> #include <cstring> using namespace std; #define left L,m,rt<<1 #define right m+1,

原创 LeetcodeRound171——1003並查集模板題

class Solution { public: int x[100010]; int DFS(int pos) { if(x[pos]!=pos) {

原创 線段樹成段更新化爲單點更新-杭電4027

#include <iostream> #include <cstring> #include <cstdio> #include <cmath> using namespace std; #define maxn 100010 long

原创 Leetcode round 168——劃分數組爲連續數字的集合

題目鏈接https://leetcode-cn.com/problems/divide-array-in-sets-of-k-consecutive-numbers/ 此題爲一道貪心題目,首先將動態數組排序,然後通過map記錄每個數字對應

原创 1297. 子串的最大出現次數

題目鏈接: https://leetcode-cn.com/problems/maximum-number-of-occurrences-of-a-substring/comments/ class Solution { public:

原创 leetcode1307——深度優先搜索

變量的含義: chars用來保存從低位到高位每一位未確定的字符 equations用來記錄每一層中每一個字母對應的加減個數標誌 將result也push_back到words的動態數組中,最後直接減去result中的當前位用以判斷餘數是否

原创 Leetcode——round176——1004

題目鏈接:https://leetcode-cn.com/problems/construct-target-array-with-multiple-sums/ 解題思路: 設當前數組的最大值爲cur_max。 數組的和爲sum,那麼將最