原创 LeetCode:703. 數據流中的第K大元素

       本題的解題過程如下,首先要明確題目的意思:本題目要求給定vector在放入最小堆之後第K大的元素,我們可以在添加元素的時候(也就是add函數)檢查隊中的元素格式是否大於K,一旦發現大於K那麼就將多餘的數字彈出,當我們

原创 Leetcode:17. 電話號碼的字母組合

class Solution { private: const string letterMap[10]={ " ", //0 "", //1 "abc",

原创 LeetCode:1299. 將每個元素替換爲右側最大元素

本題目基於動態規劃的思路,用來求解原問題時間複雜度O(n). class Solution { public: vector<int> replaceElements(vector<int>& arr) {

原创 Leetcode:1260. 二維網格遷移

class Solution { public: vector<int>shiftRight(vector<int>v, int k) { reverse(v.begin(),v.end());

原创 LeetCode:319. 燈泡開關

class Solution { public: int bulbSwitch(long long n) { //本題提可以轉化爲求解完全平方數的個數 //只有完全平方數位置上的燈在一次遍歷

原创 Leetcode:1252. 奇數值單元格的數目

class Solution: def oddCells(self, n: int, m: int, indices: List[List[int]]) -> int: rows=[0]*n

原创 LeetCode:1207. 獨一無二的出現次數

class Solution { public: bool uniqueOccurrences(vector<int>& arr) { vector<int>assist(2001,0);

原创 Leetcode:1221. 分割平衡字符串

class Solution { public: int balancedStringSplit(string s) { int count=0; int balance=0;

原创 LeetCode:700. 二叉搜索樹中的搜索

/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNo

原创 回溯思想應用:001.LeetCode:17. 電話號碼的字母組合

class Solution { private: const string letterMap[10]={ " ", //0 "", //1 "abc",

原创 LeetCode:1496. 判斷路徑是否相交

class Solution { public: bool isPathCrossing(string path) { set<pair<int,int>>obj; int curX=0;

原创 回溯思想應用:002.LeetCode:46. 全排列

class Solution { public: vector<vector<int>>res; vector<bool>used;//判斷當前情況下第i個節點是否被使用過 void generatePer

原创 回溯思想的應用:003.LeetCode:77.組合

class Solution { public: vector<vector<int>>res; //求解C(n,k),當前已經找到的組合存儲在c中,需要從start開始搜索新的元素 void genera

原创 LeetCode:171. Excel表列序號

class Solution { public: int titleToNumber(string s) { map<char,int> m; m['A']=1; m['B

原创 LeetCode:709.轉換成小寫字母

class Solution { public: string toLowerCase(string str) { for(int i=0;i<str.size();i++) {