自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(51)
  • 资源 (5)
  • 收藏
  • 关注

原创 101. 对称二叉树

题解:https://leetcode-cn.com/problems/symmetric-tree/solution/dui-cheng-er-cha-shu-by-leetcode-solution//** * * Definition for a binary tree node. * * struct TreeNode { * * int val; * * TreeNode *left; * * TreeNode *right..

2020-05-31 23:25:56 87

原创 84. 柱状图中最大的矩形

复杂度分析:时间复杂度:O(N),输入数组里的每一个元素入栈一次,出栈一次。 空间复杂度:O(N),栈的空间最多为N。这里栈对应到高度,呈单调增加不减的形态,因此称为单调栈(Monotone Stack)。它是暴力解法的优化,计算每个柱形的高度对应的最大矩形的顺序由出栈顺序决定。(1)栈记录数组的下标(2)如果当前元素数值heights[i]小于栈顶heights[stk.top()]则,栈顶弹出,计算以栈顶为高度构成的矩形面积题解:https...

2020-05-31 10:32:50 96

原创 198. 打家劫舍

题解:https://leetcode-cn.com/problems/house-robber-ii/solution/tong-yong-si-lu-tuan-mie-da-jia-jie-she-wen-ti-by-/https://leetcode-cn.com/problems/house-robber/solution/dong-tai-gui-hua-zen-yao-xiang-xian-di-gui-ji-yi-h/明确了「状态」和「选择」:你面前房子的索引就是状态,抢和不抢..

2020-05-29 16:27:22 93

原创 2-4 单线程

2020-05-29 09:56:06 100

原创 2-2 通用命令

2020-05-27 09:42:56 116

原创 287. 寻找重复数

题解:https://leetcode-cn.com/problems/find-the-duplicate-number/solution/er-fen-fa-si-lu-ji-dai-ma-python-by-liweiwei1419/二分查找思路:这道题要求我们查找的数是一个整数,并且给出了这个整数的范围(在 1和 n之间,包括 1 和 n),并且给出了一些限制,于是可以使用二分查找法定位在一个区间里的整数;二分法的思路是先猜一个数(有效范围 [left, right]里的中间数 ...

2020-05-26 13:40:32 127

原创 2-8 list

2020-05-26 10:40:22 98 1

原创 4. 寻找两个正序数组的中位数

题解:https://leetcode-cn.com/problems/median-of-two-sorted-arrays/solution/4-xun-zhao-liang-ge-you-xu-shu-zu-de-zhong-wei-shu/https://leetcode-cn.com/problems/median-of-two-sorted-arrays/solution/xun-zhao-liang-ge-you-...

2020-05-25 10:23:35 99

原创 76. 最小覆盖子串

题解:https://leetcode-cn.com/problems/minimum-window-substring/solution/hua-dong-chuang-kou-suan-fa-tong-yong-si-xiang-by-/%E5%8F%8C%E6%8C%87%E9%92%88%E6%8A%80%E5%B7%A7.md算法模版:/* 滑动窗口算法框架 */void slidingWindow(string s, string t) { unordered_map&l..

2020-05-23 17:25:03 406 1

原创 2-10 set

2020-05-23 09:06:41 100

转载 高性能缓存架构

虽然我们可以通过各种手段来提升存储系统的性能,但在某些复杂的业务场景下,单纯依靠存储系统的性能提升不够的,典型的场景有:需要经过复杂运算后得出的数据,存储系统无能为力例如,一个论坛需要在首页展示当前有多少用户同时在线,如果使用 MySQL 来存储当前用户状态,则每次获取这个总数都要“count(*)”大量数据,这样的操作无论怎么优化 MySQL,性能都不会太高。如果要实时展示用户同时在线数,则 MySQL 性能无法支撑。读多写少的数据,存储系统有心无力绝大部分在线业务都是读多写少。例如,微博、淘

2020-05-21 11:42:06 154

原创 8-1 数据库分库分表的几种方式

2020-05-21 09:24:29 273

原创 310. 最小高度树

链接:https://leetcode-cn.com/problems/minimum-height-trees/题解:https://leetcode-cn.com/problems/minimum-height-trees/solution/zui-rong-yi-li-jie-de-bfsfen-xi-jian-dan-zhu-shi-x/BFS 超级简单 注释超级详细简单分析过程:首先,我们看了样例,发现这个树并不是二叉树,是多叉树。然后,我们可能想到的解法是:根据题目的意思,...

2020-05-20 19:38:46 172

原创 1371. 每个元音包含偶数次的最长子字符串

题解:https://leetcode-cn.com/problems/find-the-longest-substring-containing-vowels-in-even-counts/solution/c-qian-zhui-he-zhuang-tai-ya-suo-xiang-jie-by-yizh/首先题目中要求子字符串中每个元音字母恰好出现偶数次,我们就可以使用 0 和 1 来标识每个字母的状态(偶数次或奇数次),我们不需要知道每个字母出现的完整次数,只需要知道这个次数的奇偶性...

2020-05-20 18:06:52 129

转载 高性能NoSQL

关系数据库经过几十年的发展后已经非常成熟,强大的 SQL 功能和 ACID 的属性,使得关系数据库广泛应用于各式各样的系统中,但这并不意味着关系数据库是完美的,关系数据库存在如下缺点。关系数据库存储的是行记录,无法存储数据结构以微博的关注关系为例,“我关注的人”是一个用户 ID 列表,使用关系数据库存储只能将列表拆成多行,然后再查询出来组装,无法直接存储一个列表。关系数据库的 schema 扩展很不方便关系数据库的表结构 schema 是强约束,操作不存在的列会报错,业务变化时扩充列也比较麻烦,

2020-05-20 10:32:55 154

原创 680. 验证回文字符串 Ⅱ

class Solution {public: bool validPalindrome(string s) { if(s.size() <= 1) { return true; } int begin = 0; int end = s.size() -1; bool flag = false; // 判断之前是否存在s[begin]和s[end]不相等的情况 ret...

2020-05-19 15:50:59 83

原创 206. 反转链表

时间复杂度:O(n)空间复杂度:O(1)/** * * Definition for singly-linked list. * * struct ListNode { * * int val; * * ListNode *next; * * ListNode(int x) : val(x), next(NULL) {} * * }; * */class Solution {public: ..

2020-05-18 20:42:34 91

转载 从0到1打造推荐系统-架构篇

随着互联网进入下半场,对于“人”、“货”、“场”三个核心元素的要求越来越高,随着数据量和流量的爆发式增长,传统的人工运营方式已经很难适应当下如此复杂的业务场景,如何精细、准确、高效、智能地联系三者成为各个平台系统越来越关注的点,于是基于千人千面个性化的推荐系统成为各个业务场景必不可少的一环。本文主要介绍在电商场景下,关于个性化推荐系统的架构方面的介绍,考虑到篇幅,其他推荐系统相关的算法大数据方面技术例如特征工程、模型训练部署等会在另外文章中介绍。先给出系统的总体技术架构图,具体模块后面详细介绍。

2020-05-18 15:04:30 590

转载 特殊的跳跃表

特殊的跳跃表该题目要求补全跳跃表的 insert 和 find 函数,但该题目要求的跳跃表有点特殊。该跳跃表只有一层跳点层,每个跳点记录一个 count,表示从该跳点到下一个跳点,共有多少个结点;然后count 会有一个最大值,例如最大值取128,则要求 count 不能大于128,如果有跳点的 count 超过128,既要新建一个跳点重新调整。但本题未对新建跳点的策略并无详述,我在此采取半分跳点的策略:count 超过最大值后,将跳点一分为二。另外为了方便实现,代码中添加了 NIL 结点辅助。

2020-05-18 14:05:23 146

转载 微信朋友圈技术之道:三个人的后台团队与每日十亿的发布量

前言截止到2015年7月,微信每月活跃用户约5.49亿,朋友圈每天的发表量(包括赞和评论)超过10亿,浏览量超过100亿。得益于4G网络的发展,以上数据仍有很快的增长,而且相对于PC互联网时代,移动互联网时代的峰值要来得更加凶猛。比如,2015年元月的流量到了平时的2倍,而峰值则达到了平时峰值的2倍,相当于平时正常流量的5倍,这对整个系统的考验是很残酷的。本次分享将简单介绍微信后台团队的开发模式、微信朋友圈的架构以及在性能上的一些工作,供各位参考。基本介绍微信朋友圈后台研发团队由三位工程师组

2020-05-18 13:34:03 289

原创 设计 Pastebin.com

设计 Pastebin.com (或者 Bit.ly)https://github.com/donnemartin/system-design-primer/blob/master/solutions/system_design/pastebin/README-zh-Hans.md注意: 为了避免重复,当前文档会直接链接到系统设计主题的相关区域,请参考链接内容以获得综合的讨论点、权衡和替代方案。设计 Bit.ly- 是一个类似的问题,区别是 pastebin 需要存储的是 paste 的内容,.

2020-05-18 11:51:19 634

转载 设计社交网络的数据结构

1.架构设计https://github.com/donnemartin/system-design-primer/blob/master/solutions/system_design/social_graph/README.md

2020-05-18 10:48:47 1320

原创 147. 对链表进行插入排序

链接:https://leetcode-cn.com/problems/insertion-sort-list/题解:https://leetcode-cn.com/problems/insertion-sort-list/solution/insertion-sort-list-by-ikaruga/思路1.像数组一样遍历,不同的是需要记录上一个指针 preNode,所以也就需要一个 dummy 在头结点之前2.如果比当前指针的值比上一个指针的值要大,那么就不需要交换,当前指针和上一个...

2020-05-17 21:41:16 78

原创 25. K 个一组翻转链表

链接:https://leetcode-cn.com/problems/reverse-nodes-in-k-group/题解:https://leetcode-cn.com/problems/reverse-nodes-in-k-group/solution/di-gui-si-wei-ru-he-tiao-chu-xi-jie-by-labuladong/class Solution {public: // 翻转一个子链表,并且返回新的头与尾 pair<List..

2020-05-17 20:35:36 138

原创 143. 重排链表

链接:https://leetcode-cn.com/problems/reorder-list/题解:https://leetcode-cn.com/problems/reorder-list/solution/xiang-xi-tong-su-de-si-lu-fen-xi-duo-jie-fa-by-34/时间复杂度:O(n)空间复杂度:O(n)/** * * Definition for singly-linked list. * * struct ListNode ..

2020-05-17 20:16:58 173 1

原创 207. 课程表

链接:https://leetcode-cn.com/problems/course-schedule/题解:https://leetcode-cn.com/problems/course-schedule/solution/tuo-bu-pai-xu-by-liweiwei1419/https://leetcode-cn.com/problems/course-schedule/solution/ctuo-bu-pai-xu-dfs-by-zb121/复杂度分析:时间复杂度:O(E..

2020-05-17 12:45:57 128

原创 454. 四数相加 II

链接:https://leetcode-cn.com/problems/4sum-ii/题解:1.先求出A,B的和的相反数存入map,key是-sum(A+B),value为出现次数count2.在求C,D和是否在map中存在,累加count复杂度分析:时间复杂度:O(n^2)空间复杂度:O(n)class Solution {public: int fourSumCount(vector<int>& A, vector<int>&..

2020-05-16 14:03:57 137

原创 设计Twitter时间轴并进行搜索

一、架构设计如上图题解:https://github.com/donnemartin/system-design-primer/blob/master/README-zh-Hans.md#%E7%B3%BB%E7%BB%9F%E8%AE%BE%E8%AE%A1%E7%9A%84%E9%9D%A2%E8%AF%95%E9%A2%98%E5%92%8C%E8%A7%A3%E7%AD%94二、leetcode单机版本题目https://blog.csdn.net/INGNIGHT/art...

2020-05-16 13:18:43 1492

转载 使用Shell遍历目录及其子目录中的所有文件方法

#! /bin/bash function read_dir(){ for file in `ls $1` #注意此处这是两个反引号,表示运行系统命令 do if [ -d $1"/"$file ] #注意此处之间一定要加上空格,否则会报错 then read_dir $1"/"$file else echo $1"/"$file #在此处处理文件即可 fi done } #读取第一个参数 read_dir $1...

2020-05-15 16:49:59 1791

原创 微服务雪崩

一、雪崩原因1.服务过载,服务提供者不可用硬件故障,部分机器挂掉 用户大量请求,流量突增,资源不足 程序bug 缓存击穿2.重试加大流量用户重试 代码逻辑重试3.服务调用者不可用同步等待造成的资源耗尽代码:https://github.com/ibinarytree/koala/blob/master/example/hystrix_example/main.go...

2020-05-13 23:19:16 149

原创 654. 最大二叉树

题解:https://leetcode-cn.com/problems/maximum-binary-tree/solution/zui-da-er-cha-shu-by-leetcode/复杂度分析时间复杂度:O(n^2)。方法 dfs 一共被调用 n次。每次递归寻找根节点时,需要遍历当前索引范围内所有元素找出最大值。一般情况下,每次遍历的复杂度为 O(logn),总复杂度为 O(nlogn)。最坏的情况下,数组 numsnums 有序,总的复杂度为 O(n^2)。/** * ...

2020-05-13 22:21:02 187

原创 102. 二叉树的层序遍历

题解:https://leetcode-cn.com/problems/binary-tree-level-order-traversal/solution/er-cha-shu-de-ceng-xu-bian-li-by-leetcode-solution/复杂度分析记树上所有节点的个数为 n。时间复杂度:每个点进队出队各一次,故渐进时间复杂度为 O(n)空间复杂度:队列中元素的个数不超过 n个,故渐进空间复杂度为 O(n)/** * * Definition for a bi..

2020-05-13 15:19:58 451

原创 523. 连续的子数组和

链接:https://leetcode-cn.com/problems/continuous-subarray-sum/题解:class Solution {public: bool checkSubarraySum(vector<int>& nums, int k) { vector<int> sums(nums.size(), 0); // sum[i]表示[0...i] nums[0]...nums[i] ..

2020-05-12 20:24:13 157

原创 155.最小栈

链接:https://leetcode-cn.com/problems/min-stack/题解:https://leetcode-cn.com/problems/min-stack/solution/zui-xiao-zhan-by-leetcode-solution/复杂度分析时间复杂度:对于题目中的所有操作,时间复杂度均为 O(1)。因为栈的插入、删除与读取操作都是 O(1),我们定义的每个操作最多调用栈操作两次。空间复杂度:O(n),其中 n为总操作数。最坏情况下,我们会连续插入..

2020-05-12 19:52:03 103

原创 用二分法求方程的近似解的方法

我的应用如下:求x^5+x^3+7=0,求取x的值是多少?#include "stdio.h"#include "math.h"#include "stdlib.h"double func (double x, double A)//这个函数主要实现求y=x^3+x^5+7 的值{ double y; y=pow(x,3)+pow(x,5) - A; //函数表达式可自己定义 return y;}double CalRoot(double m,dou...

2020-05-11 20:26:44 1829

原创 114. 二叉树展开为链表

题解:特殊的后序遍历,右->左->中/** * * Definition for a binary tree node. * * struct TreeNode { * * int val; * * TreeNode *left; * * TreeNode *right; * * TreeNode() : val(0), left(nullptr), right(nullptr) {} * ..

2020-05-11 17:36:38 127 1

原创 236. 二叉树的最近公共祖先

链接:https://leetcode-cn.com/problems/lowest-common-ancestor-of-a-binary-tree/题解:中序遍历/** * * Definition for a binary tree node. * * struct TreeNode { * * int val; * * TreeNode *left; * * TreeNode *right; * * ...

2020-05-10 09:21:10 161

原创 1026. 节点与其祖先之间的最大差值

链接:https://leetcode-cn.com/problems/maximum-difference-between-node-and-ancestor/题解:就一个节点来说所谓最大差值,就是祖先的最大值或者最小值和自己的val的差值。只需要知道所有祖先可能的最大值和最小值,在遍历时携带传递即可/** * * Definition for a binary tree node. * * struct TreeNode { * * int val; * ...

2020-05-09 16:54:25 206

原创 面试题 04.08. 首个共同祖先

链接:https://leetcode-cn.com/problems/first-common-ancestor-lcci/题解:后序遍历/** * * Definition for a binary tree node. * * struct TreeNode { * * int val; * * TreeNode *left; * * TreeNode *right; * * TreeNode(in...

2020-05-09 16:28:26 139

原创 69. x 的平方根

复杂度分析:时间复杂度:O(logN),二分法的时间复杂度是对数级别的。空间复杂度:O(1),使用了常数个数的辅助空间用于存储和比较。题解:https://leetcode-cn.com/problems/sqrtx/solution/xiong-mao-shua-ti-python3-tan-xin-wei-hu-ke-da-d-6/https://leetcode-cn.com/problems/sqrtx/solution/er-fen-cha-zhao-niu-dun-fa-pyt..

2020-05-09 13:34:01 126

1.6 Golang在阿里巴巴调度系统Sigma中的实践.pdf

1.6 Golang在阿里巴巴调度系统Sigma中的实践。

2020-04-19

栈和队列.rar

栈队列,两个栈实现队列,两个队列实现栈,栈和队列的一些简单应用

2016-01-14

深度优先搜索

哈理工几道深度优先搜索例题,泉水下山

2015-08-15

排序树 变成双向链表

排序树 变成双向链表排序树

2014-09-14

排序树 双向 循环链表

排序树 双向 循环链表

2014-08-31

空空如也

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

TA关注的人

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