- 博客(362)
- 收藏
- 关注
转载 [LeetCode] 121. 买卖股票的最佳时机 ☆(动态规划)
https://leetcode-cn.com/problems/best-time-to-buy-and-sell-stock/solution/xiang-xi-tong-su-de-si-lu-fen-xi-duo-jie-fa-by-29/描述给定一个数组,它的第i 个元素是一支给定股票第 i 天的价格。如果你最多只允许完成一笔交易(即买入和卖出一支股票),设计一个...
2019-09-27 18:44:00
251
转载 [LeetCode] 300. 最长上升子序列 ☆☆☆(动态规划 二分)
https://leetcode-cn.com/problems/longest-increasing-subsequence/solution/dong-tai-gui-hua-she-ji-fang-fa-zhi-pai-you-xi-jia/描述给定一个无序的整数数组,找到其中最长上升子序列的长度。示例:输入: [10,9,2,5,3,7,101,18]输出: 4 ...
2019-09-26 18:35:00
259
转载 [LeetCode] 392. 判断子序列 ☆(动态规划)
https://leetcode-cn.com/problems/is-subsequence/solution/java-dp-by-zxy0917-5/描述给定字符串 s 和 t ,判断 s 是否为 t 的子序列。你可以认为 s 和 t 中仅包含英文小写字母。字符串 t 可能会很长(长度 ~= 500,000),而 s 是个短字符串(长度 <=100)。字符串的...
2019-09-26 11:53:00
408
转载 [LeetCode] 137. 只出现一次的数字,其余三次 II ☆☆☆
描述给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现了三次。找出那个只出现了一次的元素。说明:你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗?示例 1:输入: [2,2,3,2]输出: 3示例2:输入: [0,1,0,1,0,1,99]输出: 99描述int数组,32位,用一个32位的int数组,每一位表明一个int值...
2019-09-25 17:01:00
209
转载 RocketMQ问题
RocketMQ原理(4)——消息ACK机制及消费进度管理RocketMQ消费者,设置setConsumeFromWhere无效的问题MQ的CONSUME_FROM_LAST_OFFSET未生效问题描述把优惠券消费的ROMA的topic从单库的roma_promcenter改为TDDL的roma_promcore(roma_promcore这个topic随着TDDL已经提...
2019-09-17 19:14:00
159
转载 [LeetCode] 671. 二叉树中第二小的节点 ☆(递归 合并)
描述给定一个非空特殊的二叉树,每个节点都是正数,并且每个节点的子节点数量只能为2或0。如果一个节点有两个子节点的话,那么这个节点的值不大于它的子节点的值。给出这样的一个二叉树,你需要输出所有节点中的第二小的值。如果第二小的值不存在的话,输出 -1 。示例 1:输入: 2/ \ 2 5 / \ 5 7输出: 5说明: 最小的值是 2 ,...
2019-08-30 14:42:00
149
转载 算法小技巧
求2个数的中间值先说结论:int mid = (start + end) >>> 1二分查找中我们需要根据start和end求中点,正常情况下加起来除以 2 即可。int mid = (start + end) / 2但这样有一个缺点,我们知道int的最大值是 Integer.MAX_VALUE ,也就是2147483647。那么有一个问...
2019-08-28 20:21:00
244
转载 [LeetCode] 95. 不同的二叉搜索树 II ☆☆☆(递归,n个数组成的所有二叉搜索树)
https://leetcode-cn.com/problems/unique-binary-search-trees-ii/solution/xiang-xi-tong-su-de-si-lu-fen-xi-duo-jie-fa-by-2-7/描述给定一个整数n,生成所有由 1 ...n为节点所组成的二叉搜索树。示例:解析利用一下查找二叉树的性质。左子树...
2019-08-28 17:10:00
278
转载 Dubbo面试
DUBBO原理、应用与面经总结SPI你是否了解SPI,讲一讲什么是SPI,为什么要使用SPI?SPI具体约定:当服务的提供者,提供了服务接口的一种实现之后,在jar包的META-INF/services/目录里同时创建一个以服务接口命名的文件。该文件里就是实现该服务接口的具体实现类。而当外部程序装配这个模块的时候,就能通过该jar包META-INF/services/里的配置...
2019-08-28 00:31:00
133
转载 Dubbo服务发布、引用
DUBBO原理、应用与面经总结Dubbo原理和源码解析之服务暴露Dubbo原理和源码解析之服务引用服务发布服务的发布总共做了以下几件事,这个也可以从日志log上看出来:暴露本地服务暴露远程服务启动netty连接zookeeper到zookeeper注册监听zookeeper官方文档的服务发布图:首先 ServiceConfi...
2019-08-28 00:04:00
89
转载 Dubbo原理
Dubbo篇之(一):实现原理及架构详解Dubbo的由来及解决的问题单一应用框架(ORM)当网站流量很小时,只需一个应用,将所有功能如下单支付等都部署在一起,以减少部署节点和成本。此时,用于简化增删改查工作量的 数据访问框架(ORM) 是关键。缺点:单一的系统架构,使得在开发过程中,占用的资源越来越多,而且随着流量的增加越来越难以维护。垂直应用框架(MVC)...
2019-08-27 23:17:00
182
转载 xx
Dubbo的原理、通信协议、SPI思想转载于:https://www.cnblogs.com/fanguangdexiaoyuer/p/11420863.html
2019-08-27 21:05:00
151
转载 代码性能优化
性能优化,我们应该知道的更多一点背景当我们谈到性能优化,更多的同学可能想到的是系统层面的性能优化。比如在一个Web服务程序中,通过Redis或者其它缓存来提升网站访问的速度等。对于程序代码本身的优化却比较少。这一方面是编译器为我们做了很多优化工作,另外一方面是觉得系统层面的优化效果更明显,也更高大上。实际上,除了系统层面的性能优化外,在程序代码层面的性能优化效果也是非常好的。...
2019-08-26 18:20:00
73
转载 [LeetCode] 5. 最长回文子串 ☆☆☆(最长子串、动态规划)
最长回文子串 (动态规划法、中心扩展算法)https://leetcode-cn.com/problems/longest-palindromic-substring/solution/xiang-xi-tong-su-de-si-lu-fen-xi-duo-jie-fa-bao-gu/(多解法)描述给定一个字符串 s,找到 s 中最长的回文子串。你可以假设s 的最大长度...
2019-08-22 15:23:00
94
转载 代码分层思考
优秀的代码都是如何分层的?背景说起应用分层,大部分人都会认为这个不是很简单嘛 就controller,service, mapper三层。看起来简单,很多人其实并没有把他们职责划分开,在很多代码中,controller做的逻辑比service还多,service往往当成透传了,这其实是很多人开发代码都没有注意到的地方,反正功能也能用,至于放哪无所谓呗。这样往往造成后面代码无法复用...
2019-08-21 18:49:00
287
转载 [LeetCode] 342. 4的幂 ☆(是否4 的幂)
描述给定一个整数 (32 位有符号整数),请编写一个函数来判断它是否是 4的幂次方。示例 1:输入: 16输出: true示例 2:输入: 5输出: false进阶:你能不使用循环或者递归来完成本题吗?解析32位数如果是4的幂,那么只有奇数位有且只有一个1,偶数位都是0。判断条件为:1. 与0xaaaaaaaa做与运算结果为0。(a=1010)2. ...
2019-08-16 21:38:00
77
转载 [LeetCode] 234. 回文链表 ☆(翻转链表)
描述请判断一个链表是否为回文链表。示例 1:输入: 1->2输出: false示例 2:输入: 1->2->2->1输出: true进阶:你能否用O(n) 时间复杂度和 O(1) 空间复杂度解决此题?解析回文的意思,比如 1->2->2->1是回文链表;1->2->3->2->1也是。要满足上...
2019-08-16 20:22:00
125
转载 [LeetCode] 148. 排序链表 ☆☆☆(归并排序)
148.排序链表描述在O(nlogn) 时间复杂度和常数级空间复杂度下,对链表进行排序。示例 1:输入: 4->2->1->3输出: 1->2->3->4示例 2:输入: -1->5->3->4->0输出: -1->0->3->4->5解析这个复杂度,可以想到用快排和归并...
2019-08-16 14:23:00
98
转载 Hystrix原理与实战
Hystrix原理与实战背景分布式系统环境下,服务间类似依赖非常常见,一个业务调用通常依赖多个基础服务。比如:订单服务调用商品服务,商品服务调用库存服务。对于同步调用,当库存服务不可用时,商品服务请求线程被阻塞,当有大批量请求调用库存服务时,最终可能导致整个商品服务资源耗尽,无法继续对外提供服务。并且这种不可用可能沿请求调用链向上传递,这种现象被称为雪崩效应。初探Hy...
2019-08-15 16:09:00
212
转载 项目架构理解
从大的方面讲:架构就是从无到有的如何把 “应用/系统/软件/项目/产品” 做出来的具体的方式。包括硬件服务器选择,软件/服务的安装使用,编程语言的选择,该语言框架的选择,具体编程技术的选择,具体到一个增删改查编写的规范及前端的用户体验编写规范。具体点:比如实现商城项目,里面需要什么功能:商品展示(吸引用户点击商品的方式、商品基本信息、促销信息、会员信息)、购买流程、下单流程、物流...
2019-08-14 23:42:00
1032
转载 图论
图论(一)基本概念图论(二)树图论(三)图的遍历图论(四)宽度优先搜索BFS图论(五)深度优先搜索DFS图论(六)图的两种表示方法图论(七)哥尼斯堡七桥问题图论(八)最小生成树图论(九)最小生成树-Kruskal算法图论(十)最小生成树-Prim算法(更好理解)转载于:https://www.cnblogs.com/fanguangdexia...
2019-08-09 17:07:00
88
转载 select加锁分析(Mysql)
【原创】惊!史上最全的select加锁分析(Mysql)前言大家在面试中有没遇到面试官问你下面六句Sql的区别呢select * from table where id = ?select * from table where id < ?select * from table where id = ? lock in share modeselect ...
2019-08-08 21:39:00
78
转载 互联网项目中mysql推荐(读已提交RC)的事务隔离级别
【原创】互联网项目中mysql应该选什么事务隔离级别Mysql为什么不和Oracle一样使用RC,而用RR使用RC的原因这个是有历史原因的,当然要从我们的主从复制开始讲起了!主从复制,是基于什么复制的?是基于binlog复制的!这里不想去搬binlog的概念了,就简单理解为binlog是一个记录数据库更改的文件吧~binlog有几种格式?OK,三种,分别是statem...
2019-08-08 19:25:00
684
转载 mysql表设计注意点
【原创】面试官:讲讲mysql表设计要注意啥需要设计一个主键因为你不设主键的情况下,innodb也会帮你生成一个隐藏列,作为自增主键。所以啦,反正都要生成一个主键,那你还不如自己指定一个主键,在有些情况下,就能显式的用上主键索引,提高查询效率!主键是用自增还是UUID?肯定答自增啊。自增插入性能好。innodb 中的主键是聚簇索引。如果主键是自增的,那么每次插入新的记...
2019-08-08 14:18:00
77
转载 AM--消息队列
kafka rocketMq零拷贝对比https://cloud.tencent.com/developer/news/333695还有Linux目录下的基本原理RocketMQ Kafka Consumer消费消息过程,使用了零拷贝,零拷贝包含以下两种方式1. 使用 mmap + write 方式RocketMQ 选择了这种方式,mmap+write 方式,因为有小...
2019-08-08 10:27:00
170
转载 Innodb中mysql如何快速删除2T的大表
【原创】Innodb中mysql如何快速删除2T的大表转载于:https://www.cnblogs.com/fanguangdexiaoyuer/p/11317108.html
2019-08-07 18:47:00
82
转载 Java日志框架那些事儿
Java日志框架那些事儿转载于:https://www.cnblogs.com/fanguangdexiaoyuer/p/11311116.html
2019-08-06 19:01:00
82
转载 Redis其他数据结构
用户日活月活怎么统计 - Redis HyperLogLog 详解HyperLogLog提出问题我们先思考一个常见的业务问题:如果你负责开发维护一个大型的网站,有一天老板找产品经理要网站每个网页每天的 UV 数据,然后让你来开发这个统计模块,你会如何实现?如果统计 PV 那非常好办,给每个网页一个独立的 Redis 计数器就可以了,这个计数器的 key 后缀加上当天的日期...
2019-08-05 14:36:00
85
转载 [LeetCode] 76. 最小覆盖子串 ☆☆☆☆☆(滑动窗口)
https://leetcode-cn.com/problems/minimum-window-substring/solution/hua-dong-chuang-kou-suan-fa-tong-yong-si-xiang-by-/(滑动窗口通用思想)描述给你一个字符串 S、一个字符串 T,请在字符串 S 里面找出:包含 T 所有字母的最小子串。示例:输入: S =...
2019-08-01 16:48:00
178
转载 最长公共子序列(动态规划、思路)
动态规划经典例题——最长公共子序列和最长公共子串求解两个字符串的最长公共子序列(思路nice)描述给定两个字符串,求解这两个字符串的最长公共子序列(Longest Common Sequence)。比如字符串1:BDCABA;字符串2:ABCBDAB则这两个字符串的最长公共子序列长度为4,最长公共子序列是:BCBA解析这是一个动态规划的题目。对于可用动态规划求解...
2019-08-01 14:39:00
398
转载 最长公共子串(动态规划)
求两个字符串的最长公共子串描述有两个字符串(可能包含空格),请找出其中最长的公共连续子串,输出其长度。(长度在1000以内)例如:输入:abcde bcd输出:3解析1、把两个字符串分别以行和列组成一个二维矩阵。2、比较二维矩阵中每个点对应行列字符中否相等,相等的话值设置为1,否则设置为0。3、通过查找出值为1的最长对角线就能找到最长公共子串。...
2019-08-01 10:57:00
513
转载 java知识点
必看!java后端,亮剑诛仙(最全知识点)转载于:https://www.cnblogs.com/fanguangdexiaoyuer/p/11278376.html
2019-07-31 18:45:00
78
转载 死锁示例
两个小工具,MySQL死锁分析多个事务并发执行update出现的数据库死锁问题排除可以通过SHOW ENGINE INNODB STATUS;来查看死锁日志死锁日志:** (1)TRANSACTION:TRANSACTION6648945293, ACTIVE 0 sec startingindexreadmysql tablesinuse 3, lo...
2019-07-26 20:28:00
143
转载 [LeetCode] 1029. 两地调度 ☆(贪心)
官方题解作差排序描述公司计划面试 2N 人。第 i 人飞往 A 市的费用为 costs[i][0],飞往 B 市的费用为 costs[i][1]。返回将每个人都飞到某座城市的最低费用,要求每个城市都有 N 人抵达。示例:输入:[[10,20],[30,200],[400,50],[30,20]]输出:110解释:第一个人去 A 市,费用为 10。第二个人去 ...
2019-07-23 18:35:00
226
转载 [LeetCode] 45. Jump game II ☆☆☆☆☆(跳跃游戏 2)
https://leetcode-cn.com/problems/jump-game-ii/solution/xiang-xi-tong-su-de-si-lu-fen-xi-duo-jie-fa-by-10/描述给定一个非负整数数组,你最初位于数组的第一个位置。数组中的每个元素代表你在该位置可以跳跃的最大长度。你的目标是使用最少的跳跃次数到达数组的最后一个位置。示例...
2019-07-22 17:05:00
72
转载 递归与回溯的理解
LeetCode 刷题笔记——递归与回溯的理解递归程序调用自身的编程技巧称为递归( recursion)。 递归做为一种算法在程序设计语言中广泛应用。 一个过程或函数在其定义或说明中有直接或间接调用自身的一种方法,它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解,递归策略只需少量的程序就可描述出解题过程所需要的多次重复计算,大大地减少了程序的代码...
2019-07-22 10:35:00
876
转载 任意时间延时消息原理讲解:设计与实现
任意时间延时消息原理讲解:设计与实现qmq 示例代码-github【原创】分布式之延时任务方案解析时间轮上不存全部数据,存储部分快要执行的数据。其他数据存储在各个队列中,比如每个小时一个队列。时间轮就是一个小时的数据,或者更小。平衡好时间轮内存占用与遍历时间轮的消耗。在时间轮的数据要从队列中删掉,保持数据集不会一直变大。为了防止断电,要保存执行完的任务偏移量,可以...
2019-07-18 23:34:00
171
转载 [LeetCode] 784. 字母大小写全排列 ☆☆☆(回溯、深度优先遍历)
https://leetcode-cn.com/problems/letter-case-permutation/solution/shen-du-you-xian-bian-li-hui-su-suan-fa-python-dai/描述给定一个字符串S,通过将字符串S中的每个字母转变大小写,我们可以获得一个新的字符串。返回所有可能得到的字符串集合。示例:输入: S = "a...
2019-07-17 15:27:00
257
转载 [LeetCode] 46. Int数组全排列 ☆☆☆(回溯)
描述给定一个没有重复数字的序列,返回其所有可能的全排列。示例:输入: [1,2,3]输出:[ [1,2,3], [1,3,2], [2,1,3], [2,3,1], [3,1,2], [3,2,1]]解析和以前的字符串全排列一样。官方题解:回溯法 是一种通过探索所有可能的候选解来找出所有的解的算法。如果候选解被确认 不是 一个解的话(或者至少不是 ...
2019-07-17 11:11:00
125
转载 [LeetCode] 17. 电话号码的字母组合 ☆☆☆(回溯) ###
描述给定一个仅包含数字2-9的字符串,返回所有它能表示的字母组合。给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。示例:输入:"23"输出:["ad", "ae", "af", "bd", "be", "bf", "cd", "ce", "cf"].说明:尽管上面的答案是按字典序排列的,但是你可以任意选择答案输出的顺序。解析...
2019-07-16 22:54:00
71
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人