自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 关于多线程订阅redis的消息

公司项目原来的一个心跳功能是用的redis发布订阅,发现处理速度远远跟不上,然后我试了上多线程,直接重复消费还有数量都对不上了(开了10个线程,每个线程10条数据,但是消费了100多条),redis可以搞一些简单的发布订阅,如果你的某个频道订阅逻辑复杂,尝试拆分为几个频道或者干脆点直接上MQ吧,专业的事情专业的来。...

2021-12-14 16:13:02 2910

原创 深入理解JAVA中的观察者模式的实现及原理

我们想这样一个业务场景,在一站到底的舞台上,有两名学霸在进行终极battle,每一轮都是主持人提出一个问题,这个时候舞台(勉强这么理解吧)就是被观察者,两名选手就是观察者,观察面前的显示屏状态得到题目,然后进行作答,代码实现如下:/** * 问题实体类 * Created by guo on 2021/12/6 11:08 */@Datapublic class Question { // 提问人名字 private String username; // 问题内容

2021-12-06 15:54:53 575

原创 手写JDK动态代理

在手写JDK动态代理实现之前,我们先看一下我们平时是怎么用的。举个例子,你想找对象,但是没有时间,只能委托媒婆去帮你找,代码实现如下:// 一个统一接口public interface Person { // 找对象接口 void findLove();}// 客户类public class Customer implements Person{ @Override public void findLove() { System.ou

2021-12-05 11:01:31 639

原创 ERROR 220624 --- [ntainer#2-2-C-1] o.s.k.l.KafkaMessageListenerContainer : Failed to set initial

完整报错:org.apache.kafka.common.errors.TimeoutException: Timeout of 60000ms expired before the position for partition heartbeatMessage1-2 could be determined2021-12-03 16:17:44.253 ERROR 220624 --- [ntainer#2-1-C-1] o.s.k.l.KafkaMessageListenerContainer

2021-12-03 16:45:16 2990

原创 SpringbootKaka批量消费报Listener method could not be invoked with the incoming message

结论:在配置文件中加上spring.kafka.listener.type=batch 。完整报错信息如下:org.springframework.kafka.listener.ListenerExecutionFailedException: Listener method could not be invoked with the incoming messageEndpoint handler details:Method [public void com.kafka.gateway.c

2021-12-03 09:59:45 8295 2

原创 redisTemplate批量新增hash

需求:工作中使用kafka接收数据,需要批量对redis中的hash操作,而redisTemplate并没有提供相应的方法,里面对于批量插入操作,只有一个public void putAll(K key, Map<? extends HK, ? extends HV> m) { if (!m.isEmpty()) { byte[] rawKey = this.rawKey(key); Map<byte[], byte[]

2021-12-01 17:28:18 4736 5

原创 influxdb插入数据报错

org.influxdb.InfluxDBException$PointsBeyondRetentionPolicyException: partial write: points beyond retention policy dropped=1使用influxdb时报了这个错,全网检索没有找到答案,后来发现是因为时间太远,超过了保存策略。因为我这个是在测试,那组测试数据的时间都是好几天前的时间了,今天一跑报错,把测试数据的时间更新一下就好了。...

2021-11-30 17:14:22 3019

原创 排序感想

提交记录:感想:经过这次排序我是经历了runtime error的绝望,不过也是对它了解更深了,估计不会再忘记这个error是什么意思了,再者就是我感觉排序题真的挺难。

2017-06-17 15:30:07 304

转载 合并区间

题目:给出若干闭合区间,合并所有重叠的部分。您在真实的面试中是否遇到过这个题? Yes样例给出的区间列表 => 合并后的区间列表:[ [ [1, 3], [1, 6], [2, 6], => [8, 10], [8, 10],

2017-06-17 15:23:09 233

原创 整数排序二

题目:给一组整数,按照升序排序。使用归并排序,快速排序,堆排序或者任何其他 O(n log n) 的排序算法。您在真实的面试中是否遇到过这个题? Yes样例给出 [3, 2, 1, 4, 5], 排序后的结果为 [1, 2, 3, 4, 5]。思路:简单的递归,每次分一半归并算法。代码:public c

2017-06-17 15:12:47 341

原创 哈希表感想

提交记录:感想:这里面包括那两个二叉查找树的题,让我归到二叉树里了,我感觉哈希表给我的是一种思想,而没有确切的解决问题的方法,比如我做的这些题,基本都是大一的都能做出来,并没有什么实质性的新内容。

2017-05-21 14:33:04 419

原创 在二叉查找树中插入节点

题目:给定一棵二叉查找树和一个新的树节点,将节点插入到树中。你需要保证该树仍然是一棵二叉查找树。 注意事项You can assume there is no duplicate values in this tree + node.您在真实的面试中是否遇到过这个题? Yes样例给出如下一棵二叉查找树,

2017-05-21 14:26:10 287

原创 Convert BST to Greater Tree

题目:Given a Binary Search Tree (BST), convert it to a Greater Tree such that every key of the original BST is changed to the original key plus sum of all keys greater than the original key in B

2017-05-21 14:22:32 262

原创 哈希函数

题目:在数据结构中,哈希函数是用来将一个字符串(或任何其他类型)转化为小于哈希表大小且大于等于零的整数。一个好的哈希函数可以尽可能少地产生冲突。一种广泛使用的哈希函数算法是使用数值33,假设任何字符串都是基于33的一个大整数,比如:hashcode("abcd") = (ascii(a) * 333 + ascii(b) * 332 + ascii(c) *33 + asc

2017-05-21 14:16:51 567

原创 两数之和

题目:给一个整数数组,找到两个数使得他们的和等于一个给定的数 target。你需要实现的函数twoSum需要返回这两个数的下标, 并且第一个下标小于第二个下标。注意这里下标的范围是 1 到 n,不是以 0 开头。 注意事项你可以假设只有一组答案。您在真实的面试中是否遇到过这个题? Yes样例给出 n

2017-05-21 14:14:53 302

原创 两数组的交二

题目:计算两个数组的交 注意事项每个元素出现次数得和在数组里一样答案可以以任意顺序给出您在真实的面试中是否遇到过这个题? Yes样例nums1 = [1, 2, 2, 1], nums2 = [2, 2], 返回 [2, 2].思路:和第一题一样,只不过这个是把map映射中的

2017-05-21 14:12:27 208

原创 两数组的交

题目:返回两个数组的交 注意事项Each element in the result must be unique.The result can be in any order.您在真实的面试中是否遇到过这个题? Yes样例nums1 = [1, 2, 2, 1], nums2 = [2, 2],

2017-05-21 14:09:46 238

原创 子数组之和

题目:给定一个整数数组,找到和为零的子数组。你的代码应该返回满足要求的子数组的起始位置和结束位置 注意事项There is at least one subarray that it's sum equals to zero.您在真实的面试中是否遇到过这个题? Yes样例给出 [-3, 1, 2, -3,

2017-05-21 09:50:17 282

原创 快乐树

题目:写一个算法来判断一个数是不是"快乐数"。一个数是不是快乐是这么定义的:对于一个正整数,每一次将该数替换为他每个位置上的数字的平方和,然后重复这个过程直到这个数变为1,或是无限循环但始终变不到1。如果可以变为1,那么这个数就是快乐数。您在真实的面试中是否遇到过这个题? Yes样例19 就是一个快乐数。1^2 + 9^2 =

2017-05-21 09:49:40 414

原创 Strings Homomorphism

题目:Given two strings s and t, determine if they are isomorphic.Two strings are isomorphic if the characters in s can be replaced to get t.All occurrences of a character must be replaced wi

2017-05-21 09:45:28 765

原创 最长回文串

题目:给出一个包含大小写字母的字符串。求出由这些字母构成的最长的回文串的长度是多少。数据是大小写敏感的,也就是说,"Aa" 并不会被认为是一个回文串。 注意事项假设字符串的长度不会超过 1010。您在真实的面试中是否遇到过这个题? Yes样例给出 s = "abccccdd" 返回 7一种可以构建出

2017-05-21 09:44:20 894

原创 二叉树的做题总结

提交记录:感想:一开始的时候我更倾向于非递归的方法,因为递归的使用有时候我会乱,可是后来随着做题的深入,我发现非递归的和递归算法的复杂程度,相差的简直不是一星半点,而随着递归的使用增多,对递归算法的理解也逐渐加深,就路径和一题,我是最后做的,感觉对递归的认识也达到一个新的高度,虽然和大手比起来还是小矮人。

2017-04-23 18:03:46 338

原创 二叉树的最大深度

题目:给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的距离。您在真实的面试中是否遇到过这个题? Yes样例给出一棵如下的二叉树: 1 / \ 2 3 / \ 4 5这个二叉树的最大深度为3.思路:一开始先定义两个整数值lheight=0,rheight=0;

2017-04-23 17:55:06 225

原创 二叉树的最小深度

题目:给定一个二叉树,找出其最小深度。二叉树的最小深度为根节点到最近叶子节点的距离。您在真实的面试中是否遇到过这个题? Yes样例给出一棵如下的二叉树:        1     /     \    2       3          /    \        4      5  这个二叉树的最小深度

2017-04-23 17:54:29 362

原创 克隆二叉树

题目:深度复制一个二叉树。给定一个二叉树,返回一个他的 克隆品 。您在真实的面试中是否遇到过这个题? Yes样例给定一个二叉树: 1 / \ 2 3 / \4 5返回其相同结构相同数值的克隆二叉树: 1 / \ 2 3 / \4 5思路:

2017-04-23 17:49:44 240

原创 将排序数组转换为高度最小的二叉搜索树

题目:给一个排序数组(从小到大),将其转换为一棵高度最小的排序二叉树。 注意事项There may exist multiple valid solutions, return any of them.您在真实的面试中是否遇到过这个题? Yes样例给出数组 [1,2,3,4,5,6,7], 返回

2017-04-23 17:41:55 264

原创 子树

题目:有两个不同大小的二进制树: T1 有上百万的节点; T2 有好几百的节点。请设计一种算法,判定 T2 是否为 T1的子树。 注意事项若 T1 中存在从节点 n 开始的子树与 T2 相同,我们称 T2 是 T1 的子树。也就是说,如果在 T1 节点 n 处将树砍断,砍断的部分将与 T2 完全相同。您在真实的面试中是否遇到过这个题? 

2017-04-23 17:36:56 298

原创 翻转二叉树

题目:翻转一棵二叉树您在真实的面试中是否遇到过这个题? Yes样例 1 1 / \ / \2 3 => 3 2 / \ 4 4思路:先交换左右子树,然后使用递归。代码:/** * Definition of TreeNod

2017-04-23 17:36:18 218

原创 将二叉树拆成链表

题目:将一棵二叉树按照前序遍历拆解成为一个假链表。所谓的假链表是说,用二叉树的 right 指针,来表示链表中的 next 指针。 注意事项不要忘记将左儿子标记为 null,否则你可能会得到空间溢出或是时间溢出。您在真实的面试中是否遇到过这个题? Yes样例 1

2017-04-23 17:27:21 209

原创 等价二叉树

题目:检查两棵二叉树是否等价。等价的意思是说,首先两棵二叉树必须拥有相同的结构,并且每个对应位置上的节点上的数都相等。您在真实的面试中是否遇到过这个题? Yes样例 1 1 / \ / \ 2 2 and 2 2 / /4

2017-04-23 17:25:59 212

原创 二叉树的所有路径

题目:给一棵二叉树,找出从根节点到叶子节点的所有路径。您在真实的面试中是否遇到过这个题? Yes样例给出下面这棵二叉树: 1 / \2 3 \ 5所有根到叶子的路径为:[ "1->2->5", "1->3"]思路:这个题使用了引用,方便了很多,这道题也又写了一个

2017-04-23 17:23:24 191

原创 二叉树的路径和

题目:给一棵二叉树,找出从根节点到叶子节点的所有路径。您在真实的面试中是否遇到过这个题? Yes样例给出下面这棵二叉树: 1 / \2 3 \ 5所有根到叶子的路径为:[ "1->2->5", "1->3"]思路:这个和后边那个二叉树的所有路径稍有不同,就是在找出路

2017-04-23 17:00:47 212

原创 二叉树之层次遍历

题目:给出一棵二叉树,返回其节点值的层次遍历(逐层从左往右访问)您在真实的面试中是否遇到过这个题? Yes样例给一棵二叉树 {3,9,20,#,#,15,7} : 3 / \9 20 / \ 15 7返回他的分层遍历结果:[ [3], [9,20], [15,7]]思

2017-04-19 18:16:49 222

原创 二叉树之后序遍历

题目:给出一棵二叉树,返回其节点值的后序遍历。您在真实的面试中是否遇到过这个题? Yes样例给出一棵二叉树 {1,#,2,3}, 1 \ 2 / 3返回 [3,2,1]思路:在函数之前定义向量ss,在函数里直接使用递归算法。代码:/** * Definition

2017-04-19 18:12:11 241

原创 二叉树之中序遍历

题目:给出一棵二叉树,返回其中序遍历您在真实的面试中是否遇到过这个题? Yes样例给出二叉树 {1,#,2,3}, 1 \ 2 / 3返回 [1,3,2].思路:这道题和前序遍历几乎没什么不同,只是修改了ss.push_back(s[top]->val);的位置。代码:/

2017-04-19 18:11:01 287

原创 二叉树之前序遍历

题目:给出一棵二叉树,返回其节点值的前序遍历。您在真实的面试中是否遇到过这个题? Yes样例给出一棵二叉树 {1,#,2,3}, 1 \ 2 / 3 返回 [1,2,3]思路:首先建立向量ss和数组s,以及定义top=-1,当root!=null或者top!=-1时,把root

2017-04-19 18:08:38 227

原创 数据结构链表题目总结

提交记录:感想:学习完链表后,我就感觉它的用处一定会很大,做完这些题后,我的感触就更加深刻了,我发现他能解决原来好多不能解决的问题,比如说它可以在实现数组的功能的同时,还能够节约空间,因为数组大小是死的,只能一口气申请很大的空间,而链表却是活的,且他的位置是不需要外加条件来约束的。另外,这十个链表题真的是让我脑洞大开,不过只有自己真的思前想后又想不出来才能有这份

2017-03-31 17:08:19 325

原创 翻转链表

题目:翻转一个链表您在真实的面试中是否遇到过这个题? Yes样例给出一个链表1->2->3->null,这个翻转后的链表为3->2->1->null思路: 从第一个结点开始,每个结点的后继都改为前驱,一直到最后一个结点就可以,就是第一个结点要注意,他的后继为NULL了。代码:/**

2017-03-31 16:58:53 393

原创 返回倒数第n个结点的值

题目:找到单链表倒数第n个节点,保证链表中节点的最少数量为n。您在真实的面试中是否遇到过这个题? Yes样例给出链表 3->2->1->5->null和n = 2,返回倒数第二个节点的值1.思路:这道题是那道删除链表倒数第n个结点的简化版,这个不用删除,直接返回就可以,代码如下。代码:/** * Def

2017-03-31 16:51:11 345

原创 链表划分

题目:给定一个单链表和数值x,划分链表使得所有小于x的节点排在大于等于x的节点之前。你应该保留两部分内链表节点原有的相对顺序。您在真实的面试中是否遇到过这个题? Yes样例给定链表 1->4->3->2->5->2->null,并且 x=3返回 1->2->2->4->3->5->null思路:一开

2017-03-31 16:41:48 441

空空如也

空空如也

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

TA关注的人

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