- 博客(40)
- 收藏
- 关注
原创 支持快速失败的ArrayList:batchRemove
看了ArrayList源码后,发现batchRemove还是较为复杂的,所以在这里写篇文章记录一下,以免以后再看时又头疼,哈哈哈。先以自己的理解,弄一个简单版的,由浅入深,干掉他,如果读者发现有什么不正确的或有什么问题请及时指出哦。先使用两个list模拟数组,从list1中移除list2存在的元素。@Test public void testBatchRemove() { /...
2020-04-18 12:54:06
530
1
转载 kafka 节点未找到错误解决
java.io.IOException: Connection to hadoop.lean.node02:9092 (id: 5 rack: null) failed.该错误刚刚看到的时候也是一脸闷逼,之前配置的都是ip,莫名其妙的就连接到主机名,最后看到一篇博客,受启发,解决了错了,在这里感谢那位老哥啦。以下是链接,希望可以帮助到大家https://blog.youkuaiyun.com...
2019-11-27 18:16:35
1705
原创 复杂度分析 效率与空间的消耗
为什么需要大O表示法?在对一个程序的好坏做评估时,改程序的时间和空间消耗是很重要的一个评估标准。当数据量增大时,程序运行的时间也会相应的增加,那么增长的幅度是呈指数还是以线性增长呢?这时就需要使用大O表示法来进行估算。其中,还有一种叫时候统计法的检测方法,即实时监测代码,程序的运行时间和空间,这种方法较大程度受机器的环境和数据量影响,如内存,CPU的好坏,都会直接影响到运行时间的长短,故从便捷...
2019-11-10 10:44:26
271
原创 周三第十题 分行从上往下打印二叉树 Java
AcWing打卡活动《剑指Offer》打卡活动周三第十题 分行从上往下打印二叉树/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x)...
2019-07-19 16:53:55
228
原创 周三第九题 不分行从上往下打印二叉树 Java
AcWing打卡活动《剑指Offer》打卡活动周三第九题 不分行从上往下打印二叉树/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int ...
2019-07-19 16:52:39
160
原创 周三第十一题 之字形打印二叉树 - Java
AcWing打卡活动《剑指Offer》打卡活动周三第十一题 之字形打印二叉树/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int ...
2019-07-19 16:42:11
230
原创 周三第八题 栈的压入、弹出序列 - Java
AcWing打卡活动《剑指Offer》打卡活动周三第八题 栈的压入、弹出序列/** * 思路 * 使用一个栈(stackV)依次压入pushV数组的值 * 使用一个变量j记录弹出顺序 * 在压入的过程中,如果该栈(stackV)的第一个元素等于popV[j],则弹出来(碰到之后必须弹出,不然后面将会没有机会弹出) * 计数器加一 * 如果popV中的元素弹完,则表示...
2019-07-12 15:17:46
147
原创 周三第七题 包含min函数的栈 - Java
AcWing打卡活动《剑指Offer》打卡活动周三第七题 包含min函数的栈/** * 思路 * 需要一个额外的栈,用以记录最小值 * 例子:如压入如下顺序 * 3 -1 2 -2 5 * 则recordStack 的内容为 * 3 -1 -1 -2 -2 * * */ class MinStack { Stack<Int...
2019-07-12 10:03:07
119
原创 周三第五题 二叉树的镜像
AcWing打卡活动《剑指Offer》打卡活动周三第五题 二叉树的镜像/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) {...
2019-07-11 16:31:13
245
原创 周三第四题 二叉树的镜像
AcWing打卡活动《剑指Offer》打卡活动周三第四题 二叉树的镜像/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) {...
2019-07-11 10:58:58
151
原创 周三第三题 树的子结构
AcWing打卡活动《剑指Offer》打卡活动周三第三题树的子结构/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) {...
2019-07-11 10:57:25
184
原创 合并两个排序的链表
AcWing打卡活动《剑指Offer》打卡活动周三第二题合并两个排序的链表/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; } * } * 思...
2019-07-10 20:13:11
151
原创 反转链表
AcWing打卡活动《剑指Offer》打卡活动周三第一题反转链表/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; } * } * * ...
2019-07-10 19:57:35
106
原创 链表中环的入口结点
AcWing打卡活动《剑指Offer》打卡活动周二第十一题链表中环的入口结点/** * Definition for singly-linked list. * class ListNode { * int val; * ListNode next; * ListNode(int x) { * val = x; * ...
2019-07-10 15:33:56
139
原创 链表中倒数第k个节点
AcWing打卡活动《剑指Offer》打卡活动周二第十题链表中倒数第k个节点/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; } * } *...
2019-07-10 10:41:14
220
原创 调整数组顺序使奇数位于偶数前面
AcWing打卡活动《剑指Offer》打卡活动周二第九题调整数组顺序使奇数位于偶数前面/** * 思路 * a.使用两个索引分别指向数组的第一个和最后一个元素 * b.当第一个索引指向的元素为偶数和第二个索引指向的元素为奇数时, * 交换两个索引指向的值 * c.循环b操作,停止条件为 begin > end * 1 & 1 = 1; 0 &...
2019-07-10 10:18:20
135
原创 表示数值的字符串
AcWing打卡活动《剑指Offer》打卡活动周二第八题表示数值的字符串/** * 字符串有两种开头方式 * 其中A为数值的整数部分,B紧跟着小数点为数值的小数部分,C紧跟'e'或者'E'为数值的指数部分 * a. 以A为整数部分的开头 A[.[B]][e|EC] * * b. 以.B为小数部分的开头 .B[e|EC] * 其中,整数部分开头是可以有±号的,而...
2019-07-08 12:29:52
155
原创 删除链表中重复的节点
AcWing打卡活动《剑指Offer》打卡活动周二第六题删除链表中重复的节点/** * 定义一个虚拟头结点,值为-1,这样就可以保证头结点不会被删除 * 使用两个引用,分别用来校验是否值一样 * 该题会完全删除掉重复的节点 * 由样例可知,不会出现负数值 * Definition for singly-linked list. * public class...
2019-07-03 15:59:25
158
原创 在O(1)时间删除链表结点
AcWing打卡活动《剑指Offer》打卡活动周二第五题在O(1)时间删除链表结点/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; } *...
2019-07-01 14:15:32
131
原创 数值的整数次方
AcWing打卡活动《剑指Offer》打卡活动周二第四题数值的整数次方class Solution { public double Power(double base, int exponent) { double res = 1; for(int i = 0; i < Math.abs(exponent)...
2019-07-01 13:47:40
114
原创 二进制中1的个数
AcWing打卡活动《剑指Offer》打卡活动周二第三题二进制中1的个数/** * 思路 * 10010 - 1 = 10001 * 10010 & 10001 = 10000 -> 少了一个1 * 11100 - 1 = 11011 * 11100 & 11011 = 11000 -> 同样少了一个1 * 按照这个思路不停的&am...
2019-07-01 13:28:36
176
原创 剪绳子
AcWing打卡活动《剑指Offer》打卡活动周二第二题 剪绳子/** * 1、设 ni >= 5, 3 * (ni - 3) >= ni? 2 * ni >= 9? 衡大于 * 2、ni = 4 时, 拆分为2 * 2 才为最大 * 3、2 * 2 * 2 < 3 * 3 故能拆分成3时,尽量拆分为三 * 4、除了边界情况不得已才会拆分出1...
2019-07-01 13:06:59
103
原创 机器人的运动范围
AcWing打卡活动《剑指Offer》打卡活动周二第一题机器人的运动范围class Solution { public int movingCount(int threshold, int rows, int cols) { // 给了m,n,k的范围,所以不需要进行校验 // 需要一个数组维护机...
2019-06-30 19:42:33
163
原创 矩阵中的路径
AcWing打卡活动《剑指Offer》打卡活动周一第十一题 矩阵中的路径class Solution { public boolean hasPath(char[][] matrix, String str) { if(matrix == null || str == null || matrix.length <= 0) { ...
2019-06-30 16:37:55
158
原创 斐波那契数列
AcWing打卡活动《剑指Offer》打卡活动周一第九题斐波那契数列/** * 1 1 2 3 5 * 如果使用递归,则会多出很多多余的计算 */class Solution { public int Fibonacci(int n) { // 使用从下至上的方式 if(n == 0) { re...
2019-06-30 14:47:21
316
原创 旋转数组的最小数字
AcWing打卡活动《剑指Offer》打卡活动周一第十题旋转数组的最小数字/** * 利用旋转数组的特点,左边数组要比右边数组打,结合二分法即可即可解出 **/class Solution { public int findMin(int[] nums) { if(nums.length <= 0) { // 参数校验 ...
2019-06-30 14:34:05
90
原创 用两个栈实现队列
AcWing打卡活动《剑指Offer》打卡活动周一第八题用两个栈实现队列/** * 用两个栈实现队列 * 该题无需考虑时间复杂度,只需要实现操作即可 * create by yifeng */public class Question09 { public static void main(String[] args) { } cl...
2019-06-29 16:32:44
161
原创 二叉树的下一个节点
AcWing打卡活动《剑指Offer》打卡活动周一第七题二叉树的下一个节点public TreeNode inorderSuccessor(TreeNode p) { // 中序遍历, 左根右 // 若该节点有右子节点,则遍历该节点的右子节点的子节点 if(p.right != null) { ...
2019-06-29 16:12:10
115
原创 替换空格
AcWing打卡活动《剑指Offer》打卡活动周一第四题替换空格/** * 如若从前向后遍历,时间复杂度将会是O(n^2), * 如若从后至前遍历,提前拿到数组扩容的空间,则时间复杂度 * 将会优化到O(n) * create by yifeng */public class Solution { public String replaceSpaces(S...
2019-06-29 07:18:29
222
原创 二维数组中的查找
AcWing打卡活动《剑指Offer》打卡活动第一周第三题二维数组中的查找/*由题目中二维数组的特性可得,每行的最右边最大,每列的从上之下依次递增,故如若从右至左(若行最大值大于小于目标值,则可直接跳过该行),从上至下遍历(若最小值大于目标值,则可直接跳过该列),则可大大提高效率。*/class Solution { public boolean searchA...
2019-06-29 03:48:54
111
原创 找出数组中重复的数字
AcWing打卡活动《剑指Offer》打卡活动第一周第一题不修改数组找出重复的数字/** * 前提条件是 数组中的元素必须小于数组的长度且大于-1 * @param numbers * @return -1 未找到或者参数校验失败 */ static int duplicate(int numbers[]) { ...
2019-06-28 19:49:25
373
原创 不修改数组找出重复的数字
AcWing打卡活动《剑指Offer》打卡活动第一周第二题不修改数组找出重复的数字/** * AcWing * 由题目的特性,可根据数组的长度,逐个检查范围,如数组的长度为8 * 则会使用二分法,检查左半边索引值(即1~4)在整个数组中的数量, * 逐渐缩小范围 * @param nums * @return 重复数字...
2019-06-28 19:38:50
165
原创 nginx的简单实用
Nginx是什么 nginx是一款轻量级的web服务器,也是一款反向代理服务器。 Nginx能干什么 分离前端 可作为HTTP反向代理服务器 作为邮件代理服务器 作为负载均衡 等等... Nginx特点 高稳定、高性能,资源占用少、功能丰富、模块化结构等。 Nginx的安装 安装gcc,键入以下...
2018-07-28 15:02:45
238
原创 vsftpd的使用
简介vsftpd是 “very secure FTP deamon”的缩写,是一个完全免费,开源的ftp服务器软件。特点小巧轻快,安全易用,支持虚拟用户、支持带宽限制等功能。安装执行 yum -y install vsftpd注:在安装前需提前确认是否已经安装了vsftpd 命令如下:rpm -qa|grep vsftpd另外,默认的配置文件路径为: /etc/vsftpd/vsftpd.conf...
2018-06-08 15:47:46
30732
3
原创 idea快捷键 记我所用的
在这里记录下我个人经常用的idea快捷键,由于是才开始使用,所以就先记一下我已经记下的快捷键,后期再加内容。操作文件crtl+E 查看最近编辑的文件crtl+shift+N 查找文件操作代码ctrl+Q 显示注释文档,包括显示包结构和父类crtl+[或者crtl+] 跳转到上面/下面的大括号 crtl+w 选中代码,多次按下可以升级哦 如果光标附件是单词,则会先选择单词,然后在慢慢的选中越来越多...
2018-06-05 17:26:25
253
原创 Elasticsearch插件/分布式安装
记录一下Elasticsearch插件和分布式的部署方法一、Elasticsearch插件安装 环境: openjdk 1.8.0_161 node 8.9.3 (要求大于等于6.0) elasticsearch-head 插件安装包~ 以上均为博主的使用环境,可供大家参考 在linux ...
2018-04-12 16:43:28
343
原创 Elasticsearch安装
一、Elasticsearch的安装(linux) Elasticsearch作为开箱即用的搜索服务器,非常方便。 Elasticsearch的官网下载 如果遇到了错误,可以参考博主的另外一篇文章 - > es排错指南 下载之后,直接解压,如下图 (博主下载为现在的最新版本 6.2.3)二、各个主要目录的作用 使用ls命令,即可查看elasticsearch 下的...
2018-04-10 14:44:38
192
原创 elasticsearch排错指南(各种错误~)
博主在学习es的时候,遇到了很多错误,这里列举安装时的错误。一、can not run elasticsearch as root如上图,代表不能使用root用户运行es,这是es的开发团队考虑到了安全性所做的设置解决方案: 新建用户,使用新建的用户安装即可,敲击如下命令(其中yf为用户名,各位可以自己设定,su即切换用户) adduser yf su yf二、unable to...
2018-04-10 14:37:40
1564
转载 redis学习之入门(入坑)
由于最近需要用到redis,所以在学习之余写写博客,养成一个好的习惯,希望对大家有所帮助。期间如果遇到坑,我会在本栏目中写出来,便于大家参考。一、安装 安装的第一步肯定是下载redis,这里介绍windows版本。 https://github.com/MSOpenTech/redis/releases 然后解压 ——> 打开cmd窗口 ——> 在...
2018-04-09 16:06:05
1517
原创 SpringBoot简单入门
一、springBoot简介 Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Spring Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者。 Spring B...
2018-03-21 11:12:55
249
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人