原创 leetcode 39 組合總和

### 題目 給定一個無重複元素的數組 candidates 和一個目標數 target ,找出 candidates 中所有可以使數字和爲 target 的組合。 candidates 中的數字可以無限制重複被選取。 說明: 所有數字(

原创 c++聲明結構體與釋放內存(堆和棧)

堆中聲明和棧中聲明: #include <iostream> class new_test{ public: int a; int b; }; using namespace std; void* stack_b

原创 leetcode 37 解數獨

### 題目 編寫一個程序,通過已填充的空格來解決數獨問題。 一個數獨的解法需遵循如下規則: 數字 1-9 在每一行只能出現一次。 數字 1-9 在每一列只能出現一次。 數字 1-9 在每一個以粗實線分隔的 3x3 宮內只能出現一次。 空

原创 c++如何對vector進行去重

第一種,利用set容器的特性進行去重: #include <iostream> #include <vector> #include <set> using namespace std; int main() { vector<

原创 hihocoder 第280周德國心臟病c++

#題目:   Jack在和朋友們玩德國心臟病。 德國心臟病的遊戲牌分爲水果牌和動物牌。水果只有4種:香蕉、草莓、櫻桃、檸檬,每張水果牌上會有種類不定、總數目1-5的水果;動物只有3種:猴子、大象、豬,每張動物牌上有且僅有一隻動物。 n名玩

原创 leetcode 43 字符串相乘

### 題目 給定兩個以字符串形式表示的非負整數 num1 和 num2,返回 num1 和 num2 的乘積,它們的乘積也表示爲字符串形式。 示例 1: 輸入: num1 = "2", num2 = "3" 輸出: "6" 示例 2:

原创 leetcode 62 63 不同路徑

### 題目 一個機器人位於一個 m x n 網格的左上角 (起始點在下圖中標記爲“Start” )。 機器人每次只能向下或者向右移動一步。機器人試圖達到網格的右下角(在下圖中標記爲“Finish”)。 現在考慮網格中有障礙物。那麼從左上

原创 Jupyter Notebook的初始路徑設置

第一種方法 就是直接設置快捷方式的起始位置,找到Jupyter Notebook的快捷方式。 直接右鍵Jupyter Notebook的屬性找到起始位置這個選項,修改成你想要的路徑,例如:G:\pythoncode   第二種方法 找

原创 leetcode 47 全排列Ⅱ

### 題目 給定一個可包含重複數字的序列,返回所有不重複的全排列。 示例: 輸入: [1,1,2] 輸出: [   [1,1,2],   [1,2,1],   [2,1,1] ] ### 思路 就是全排列算法了,原理比較簡單,增加了一個

原创 leetcode 45 跳躍遊戲Ⅱ

### 題目 給定一個非負整數數組,你最初位於數組的第一個位置。 數組中的每個元素代表你在該位置可以跳躍的最大長度。 你的目標是使用最少的跳躍次數到達數組的最後一個位置。 示例: 輸入: [2,3,1,1,4] 輸出: 2 解釋: 跳到最

原创 leetcode 60 第k個排列

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

原创 動態規劃算法解析與實戰

一、算法思想           動態規劃算法的基礎是最優原理,它是用來解決貪婪算法和分治算法無法解決或者無法簡潔高效解決的算法,一般用於求解下列問題:(1)揹包問題 (2)最短路徑 等。           動態規劃和貪婪算法一樣,都一

原创 leetcode 77 組合(c++)

### 題目 給定兩個整數 n 和 k,返回 1 ... n 中所有可能的 k 個數的組合。 示例: 輸入: n = 4, k = 2 輸出: [   [2,4],   [3,4],   [2,3],   [1,2],   [1,3],

原创 leetcode 32 最長有效括號

### 題目 給定一個只包含 '(' 和 ')' 的字符串,找出最長的包含有效括號的子串的長度。 示例 1: 輸入: "(()" 輸出: 2 解釋: 最長有效括號子串爲 "()" 示例 2: 輸入: ")()())" 輸出: 4 解釋:

原创 leetcode 54 螺旋矩陣

### 題目 給定一個包含 m x n 個元素的矩陣(m 行, n 列),請按照順時針螺旋順序,返回矩陣中的所有元素。 示例 1: 輸入: [  [ 1, 2, 3 ],  [ 4, 5, 6 ],  [ 7, 8, 9 ] ] 輸出: