自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(145)
  • 收藏
  • 关注

原创 阅读笔记

**设计模式**1.设计模式原则: 开闭原则:实现方法:定义一个抽象层(抽象类或者接口),然后不同的子类去实现 里氏替换原则:子类可以扩展父类的功能,但不能改变父类原有的功能。即尽量不要重写父类的方法。 依赖倒置原则:高层模块不应该依赖低层模块,两者都应该依赖其抽象;抽象不应该依赖细节,细节应该依赖抽象(抽象指的是接口或者抽象类,而细节是指具体的实现类)。核心思想是:要面向接...

2019-07-01 19:51:09 307 1

原创 网络服务器项目相关

一. 资料阅读muduo思路及源码分析https://blog.csdn.net/adkada1/article/details/54342275

2019-06-06 22:05:05 162

转载 leetcode SQL题目

175.组合两个表左连接select Person.FirstName, Person.LastName, Address.City, Address.Statefrom Personleft join Addresson Person.PersonId = Address.PersonId176.第二高的薪水先选出最大的,再选出第二大的SELECT MAX(Salary) Se...

2019-05-22 23:05:37 3024

原创 博客阅读

数据库:1.事务隔离级别:https://blog.csdn.net/weixin_41835916/article/details/81455953其中对读已提交和可重复读的理解:读已提交:读的时候加共享锁,读完立即释放。更新数据的时候加排它锁,事务结束才释放可重复度:读的时候加共享锁,事务结束才释放。更新数据加排它锁,事务结束才释放此时,如果是读已提交级别的话,3行读完立即释放锁...

2019-05-22 21:20:52 439

原创 C++Primer笔记

一. 智能指针一般在类中的不同对象之间需要共享数据时,会用到动态内存1. shared_ptr初始化:不能直接将原生指针赋值给shared_ptr,要用构造函数初始化或者reset()函数shared_ptr<int> p(new int(5)); //第一种方式shared_ptr<int> p = make_shared<int>(5); ...

2019-04-04 21:02:53 166

原创 leetcode面试100道题

地址:https://leetcode.com/problemset/top-100-liked-questions/?difficulty=Easydone 表示做过了 undone 表示看了思路但是没敲代码done (1)两数之和——用哈希表做,键存数字,值存位置done (20)有效的括号——用栈实现undone (21)合并两个有序链表21.合并两个有序...

2019-04-01 17:03:07 3799 1

原创 letcode只看题,没写代码

...

2019-02-17 21:08:04 152

原创 leetcode经验

1.最大的k个元素/第k大的数字 用堆(priority_queue)或者快速排序

2019-01-23 20:01:34 213

原创 leetcode刷题进度

带括号的是需要编程做的,未带括号表示看了一遍没敲代码数组简单:比较经典的:35,53,121,(1), (26), 27, (35),(53),66,(88),118,119没看,(121),122没看,(167)中等:比较经典的:39,11,(15),16,18没看,(31),33,34,(39),40栈简单:比较经典的:(20),(155),225,232,(496),682...

2019-01-18 20:16:43 622

转载 leetcode297.二叉树序列化与反序列化

没看太懂参考:https://leetcode.com/problems/serialize-and-deserialize-binary-tree/discuss/74259/Recursive-preorder-Python-and-C%2B%2B-O(n)//先跟序列化(递归先根遍历)class Codec {public: string serialize(TreeNo...

2019-06-29 14:54:45 304

转载 leetcode239.滑动窗口最大值

解析参考:https://blog.csdn.net/u010429424/article/details/73692248代码参考:https://leetcode.com/problems/sliding-window-maximum/discuss/65956/My-C%2B%2B-O(n)-deque-based-solution-with-explanation用单调队列做(从队...

2019-06-28 14:23:11 232

转载 leetcode146.LRU缓存机制

参考:https://leetcode.com/problems/lru-cache/discuss/46223/O(1)-unordered_map-%2B-list-%2B-splice用双向链表+哈希表实现双向链表的节点为插入的元素,实现高效率的删除和移动操作哈希表key为元素的key,值为元素节点在队列中的指针,实现高效率的查找操作取元素: 不存在直接返回,存在时需要将对...

2019-06-27 13:29:38 181

转载 leetcode128.最长连续序列

参考:https://blog.csdn.net/qq_26410101/article/details/88538744用哈希表做,键为数字,值为遍历到该数字时它所在连续序列的长度。在新遍历一个数字n时,如果该数字在哈希表中不存在,那么此时如果哈希表中有n-1或者n+1,那么n-1或者n+1一定是一个连续序列的边界点,因此再加入n元素后,可以将n-1所在序列(如果存在的话),n以及n+1所...

2019-06-26 19:00:19 229

转载 leetcode124.二叉树中的最大路径和.

参考:思路参考:https://blog.csdn.net/huaweidong2011/article/details/82875485https://blog.csdn.net/this_is_qiqi/article/details/77859419代码参考:https://leetcode.com/problems/binary-tree-maximum-path-sum/dis...

2019-06-25 15:16:43 118

转载 leetcode85.最大矩形

1.转换成直方图的做法:参考:https://leetcode.com/problems/maximal-rectangle/discuss/29059/Sharing-my-straightforward-C%2B%2B-solution-with-O(n2)-time-with-explanationhttps://www.cnblogs.com/ariel-dreamland/p/91...

2019-06-11 19:25:12 542

转载 leetcode84.柱状图中最大的矩形

参考:https://blog.csdn.net/lv1224/article/details/79974175思路:单调栈用一个栈来维持一个递减序列(从栈顶到栈底递减),栈中保存的是当前元素的索引。那么要弹出元素的高度大于当前元素也大于栈中的倒数第二个元素矩阵1,高度为2,入栈,栈中元素为 0矩阵2,高度为1,弹出栈顶元素并计算以矩阵1为最高点的面积,弹出后栈为空,当前元素索引为1,...

2019-06-10 17:13:43 105

转载 leetcode76.最小覆盖子串

参考:https://leetcode.com/problems/minimum-window-substring/discuss/26840/Sharing-my-straightforward-O(n)-solution-with-explanationstring minWindow(string S, string T) { string result; if(S.em...

2019-06-10 16:24:32 136

转载 72.编辑距离

参考:https://leetcode.com/problems/edit-distance/discuss/25846/C%2B%2B-O(n)-space-DP用dp[i][j]表示将s1[0..i)变成s2[0..j)最少的步骤数,将s1[0..i)变成s2[0..j)可以考虑以下三种情况:1. 如果s1[i-1]==s2[j-1],即两者的最后一位字符相同,那么只需要将s1[0.....

2019-06-06 13:42:12 308

转载 leetcode42.接雨水

参考:https://blog.csdn.net/qq_26410101/article/details/817848031.两次遍历数组,依次记录每个位置左边和右边的最大值left[i]和right[i],其中left[i]表示i位置左边的最大高度right[i]表示i位置右边的最大高度那么只有当left[i]和right[i]都大于i位置的高度时,在i位置上才会有积水(积水指当前位置...

2019-06-06 13:03:05 121

转载 leetcode32.最长有效括号

1.栈方法参考:https://leetcode.com/problems/longest-valid-parentheses/discuss/14147/My-simple-8ms-C%2B%2B-code (太厉害了)class Solution {public: int longestValidParentheses(string s) { stack<...

2019-06-05 15:41:02 199

转载 leetcode23.合并K个有序链表

参考:https://leetcode.com/problems/merge-k-sorted-lists/discuss/10527/Difference-between-Priority-Queue-and-Heap-and-C%2B%2B-implementation (评论里的新加一个节点的那个)优先队列方法:class Solution {public: ListNo...

2019-06-04 15:32:11 4870

转载 leetcode4.寻找两个有序数组的中位数

参考:https://leetcode.com/problems/median-of-two-sorted-arrays/discuss/2481/Share-my-O(log(min(mn))-solution-with-explanationhttps://blog.csdn.net/qq_26410101/article/details/86761011大体思路是这样的: left_...

2019-06-01 15:39:45 2268

原创 B树和B+树

参考:https://www.cnblogs.com/guohai-stronger/p/9225057.html一.B树(中间节点是包含数据的)插入:插入的点一定是先到叶节点的(1)如果叶节点的元素个数没满,那么直接插入即可(2) 如果叶节点元素个数满了,那么先将元素插进去排好序以后开始分裂节点,取排好序的中间元素为分裂点,并将该元素送到父节点去,其他两部分被分开。如果父节点也...

2019-05-31 16:06:28 143

转载 leetcode739.每日温度

即找之后第一个比自己大的元素参考:https://blog.csdn.net/u012836896/article/details/86657168用栈实现:将元素(下标)依次入栈并且保证栈内元素从栈顶到栈底是递增的。(如果当前元素比栈顶元素大,则说明当前元素就是比栈顶元素大的第一个元素,求出两个下标的差值即为栈顶元素对应的结果。依次出栈并计算下标差直到栈顶元素大于当前元素,将当前元素入栈...

2019-05-29 14:49:06 317

转载 leetcode647.回文子串

参考:https://www.cnblogs.com/AlvinZH/p/8527668.html回文串特点:以中间的一个(奇数个)或者两个(偶数个)字母为中心是对称的1.动态规划dp[i][j]表示i—j之间的序列是否是回文串,如果是为True否则为False,那么递推公式为:(1)如果s[i] != s[j]那么就不是回文串(2)如果s[i] == s[j] 那么 dp[i][j] ...

2019-05-29 13:48:48 238

转载 leetcode621.任务调度器

一.按照词频求参考:https://blog.csdn.net/qq_26410101/article/details/82108011https://blog.csdn.net/qq_38595487/article/details/79977315 (公式里少写了括号)个人理解:(1)先找出现次数最多的字母,假设为A,出现m次,要求字母间隔大于n。那么先将A按照给定间隔排好后的长度为(...

2019-05-28 21:21:46 540

转载 leetcode560.和为K的子数组

参考:https://blog.csdn.net/tstsugeg/article/details/71107676https://blog.csdn.net/haoxiaoxiaoyu/article/details/763416991.用数组sum记录下当前位置之前所有数字的相加和,这样下标[i, j)之间的数字之和就可以用sum[j]-sum[i]来计算class Solution ...

2019-05-28 16:39:15 348

转载 leetcode494.目标和

参考:https://blog.csdn.net/qq_17550379/article/details/82939713https://blog.csdn.net/qq_26410101/article/details/80855135将该问题可以转换成leetcode416.分割等和子集这个问题其实和416很像,这个问题相当于是要将集合的元素分为正负两个集合,使得和为target.假...

2019-05-27 15:15:02 227

转载 leetcode416.分割等和子集

参考:动态规划+空间优化:https://blog.csdn.net/qq_26410101/article/details/80806463dp[i][j]表示从第一个元素到第i个元素是否存在能组成和为j的子集,如果可以为true,否则为false。dp[i][j] = dp[i - 1][j] || dp[i - 1][j - nums[i]];对于每个元素,有两种处理方法,要么取...

2019-05-27 14:44:24 1016

转载 leetcode406.根据身高重建队列

参考:https://blog.csdn.net/camellhf/article/details/52671119https://leetcode.com/problems/queue-reconstruction-by-height/discuss/89348/6-lines-Concise-C%2B%2Bsort自定义函数:如果想让元素按照升序排序就返回p1<p2,如果想按照降序...

2019-05-27 12:42:35 1442

转载 并查集

参考:https://blog.csdn.net/dm_vincent/article/details/7655764

2019-05-26 17:19:30 100

转载 leetcode399.除法求值

实际为图的遍历问题,图采用邻接表的形式存储(用unordered_map存),键为图中的节点,值为与该节点直接相连的其他节点(包含边的权重,边的权重就是除的结果)。比如a/b=2,就将a存为键,b和2存为值,同时b也为节点,a和1/2存为值。假设已知a/b=2,b/c=3,求a/c,那么就是求a点到c点的路径(将路径上的权值相乘,即2*3=6)。故本质为图的遍历。之前博客关于图的遍历的文章:ht...

2019-05-20 17:09:37 753

转载 leetcode394. 字符串解码

参考:https://leetcode.com/problems/decode-string/discuss/87651/C%2B%2B-simple-and-clear-solution两个栈做的class Solution {public: string decodeString(string s) { stack<string> chars; ...

2019-05-15 09:49:32 307

转载 leecode338. 比特位计数

1.时间复杂度为O(n*sizeof(integer))的方法对于0到num中的每个数,如果这个数是奇数,则1的个数加1,然后该数除以2,直到该数为0理解:奇数的二进制最后一个数是1,除以2相当于右移一位。即每次判断最后一位是否为1,若为1则count+1,否则count不变(count为该数1的个数)参考:https://www.cnblogs.com/liujinhong/p/6115...

2019-05-15 08:47:54 383

转载 leetcode198. 213 337打家劫舍

198.打家劫舍I动态规划。class Solution {public: int rob(vector<int>& nums) { const int n = nums.size(); if (n == 0) return 0; if (n == 1) return nums[0]; if (n =...

2019-05-14 15:08:48 129

转载 计算机网络

1.select,poll,epollhttps://www.cnblogs.com/aspirant/p/9166944.html

2019-05-13 22:43:31 89

转载 300.最长上升子序列

1.动态规划O(n^2)参考:https://blog.csdn.net/maotianyi941005/article/details/81330389int lengthOfLIS(vector<int>& nums) { vector<int> maxlis(nums.size(),1); int le...

2019-05-08 13:57:43 172

转载 leetcode287 寻找重复数

1.二分查找参考:https://leetcode.com/problems/find-the-duplicate-number/discuss/73045/Simple-C%2B%2B-code-with-O(1)-space-and-O(nlogn)-time-complexity(代码)可以认为有两个数组,一个是原数组,一个是1-n的范围数组(无重复),每次对low-high的范围数组...

2019-05-08 10:53:48 313

转载 leetcode279.完全平方数

1.动态规划状态转移方程:dp[i] = min(dp[i], dp[ i - j * j]+1),其中j是满足:j*j < i,的平方数的平方根。其中dp[i]表示和为i的数最少由几个平方数组成int numSquares(int n) { if (n <= 0) { return 0; } ...

2019-05-06 19:28:43 128

转载 leetcode240.搜索二维矩阵II

1.从右上角开始搜索,如果小于target则该行所有元素都不满足,行++。如果大于target,则该列所有元素都不满足。列–参考:https://leetcode.com/problems/search-a-2d-matrix-ii/discuss/66142/C%2B%2B-with-O(m%2Bn)-complexitybool searchMatrix(vector<vector&...

2019-05-06 16:49:20 150

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除