自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

reachwang的博客

一个java小白,自学中

  • 博客(18)
  • 资源 (3)
  • 收藏
  • 关注

转载 Java中List和数组Array相互转换

Java中List转换为数组,数组转ListList转换为Array可以这样处理:ArrayList<String> list=new ArrayList<String>();String[] strings = new String[list.size()];list.toArray(strings);反过来,如果要将数组转成List怎么办呢?如下:S...

2019-11-30 22:19:23 305

原创 leetcode_559:N叉树的最大深度

这个题目第一次看到当然很简单,求这种层数最基本的思路就是广度优先遍历了,思路简单,代码也不难。只是在设计队列的时候要注意里面要存放的是怎样的数据: public int maxDepth(Node root) { if (root == null) return 0; int result = 0; //队列存放当前的...

2019-11-30 22:09:22 300

原创 早期(编译期)优化

Java语言的“编译期”其实是一段“不确定”的操作过程,它可能包含三类:前端编译器:把*.java文件转变为*.class文件的过程,如Sun的Javac、Eclipse JDT中的增量式编译器(ECJ)。后端运行期编译器(JIT):把字节码转变为机器码,如HotSpot VM的C1、C2编译器。静态提前编译器(AOT):直接把*.java文件编译为本地机器代码的过程,如GNU Compi...

2019-11-30 21:22:25 317

原创 leetcode_199:Binary Tree Right Side View

这个题目其实没啥说的,就是层次遍历,每次都取那一层的最后一个就行。只是编码过程中有一些边界条件需要注意,再有就是这种需要保存上一层状态的题目,一般是需要两个队列的,来轮流保存每层的节点,代码如下: public List<Integer> rightSideView(TreeNode root) { List<Integer> result = ne...

2019-11-29 22:45:28 329

原创 leetcode_127:单词接龙

hgfg

2019-11-29 20:17:30 343

原创 redis--整数集合

整数集合是集合键的底层实现之一,当一个集合只包含整数值元素,并且这个集合的元素数量不多时,redis就会使用整数集合作为集合键的底层实现。1. 整数集合的实现整数集合是redis用于保存整数值的集合抽象数据结构,它可以保存类型为int16_t、int32_t或者int64_t的整数值,并且保证集合中不会出现重复元素。每个intset.h/intset结构表示一个整数集合:typedef st...

2019-11-27 19:40:35 426

原创 redis---字典

字典是一种用于保存键值对的抽象数据结构,在字典中一个键(key)可以和一个值(value)进行关联,这些关联的键和值就称为键值对,字典中的每个键都是独一无二的。1. 字典的实现redis的字典使用哈希表作为底层实现,一个哈希表里面可以有多个哈希表节点,而每个哈希表节点就保存了字典中的一个键值对。1.1 哈希表redis字典所使用的哈希表由dict.h/dictht结构定义:typedef...

2019-11-26 21:12:41 306

原创 leetcod_39:组合总和

这个题目就是很典型的回溯法,说实话,我讲不明白回溯法是个咋回事,但是会写一点(气人不)。这个题目是我写完电话号码组合后紧接着做得题目,可能是手感来了。总之核心思想就是要画一个树,然后在某个时刻要学会剪枝(不符合条件时直接返回)。代码如下: public static List<List<Integer>> combinationSum(int[] candidate...

2019-11-23 22:11:42 302

原创 redis---链表

redis中每个链表节点使用一个adlist.h/listNode结构来表示:typedef struct listNode { //前置节点 struct listNode *prev; //后置节点 //struct listNode *next; //节点的值 void *value;使用adlist.h/list来持有链表:typedef struct list { ...

2019-11-23 20:07:18 306

原创 redis---简单动态字符串

Redis没有直接使用C语言传统的字符串表示,而是自己构建了一种名为简单动态字符串(SDS)的抽象类型,并将其作为Redis的默认字符串表示,即Redis中包含字符串值的键值对在底层都是由SDS实现的。...

2019-11-23 19:31:42 276

原创 CountDownLatch原理解剖

先看一下这个类是怎么用的,因为我们知道,可能要执行一个任务的时候需要等待其他任务执行完毕才可进行。比如当前某个线程需要“断一栋大楼的电”,它需要所有其他要用电的线程(工作人员)执行完任务后才能“断电”。这个过程有时候会用到Thread.join()方法,让当前线程阻塞,直到其他线程执行完毕为止。但是并不灵活,何况实际应用中可能往往这些子线程是一个个的Runnable来交给线程池运行,不能执行joi...

2019-11-21 20:36:58 299

原创 leetcode_101:对称二叉树

首先看到这个题,肯定想到是用递归来解决的。但是怎么递归是个问题,对称二叉树的定义就是一个节点的值和对称节点的值相等,且它的左子树节点和对称节点的右子树节点也满足类似关系,它的右子树节点和对称节点的左子树节点也满足类似关系。同样左右子树也要满足这样的条件。于是有了如下代码:class Solution { public boolean isSymmetric(TreeNode root) ...

2019-11-16 17:30:36 271

原创 JVM中的栈帧结构

栈帧(Stack Frame)是用于支持虚拟机进行方法调用和方法执行的数据结构,它是虚拟机运行时数据区中的虚拟机栈的栈元素。栈帧存储了方法的局部变量表、操作数栈、动态连接和方法返回地址等信息。每一个方法从调用开始至执行完成的过程,都对应一个栈帧在虚拟机栈里面从入栈到出栈的过程。在编译程序代码的时候,栈帧中需要多大的局部变量表,多深的操作数栈都已经完全确定了,并且写入到方法表的Code属性之中,因此...

2019-11-15 23:03:56 3808

原创 Java虚拟机中的方法调用过程

方法调用不等同于方法执行,方法调用阶段唯一的任务就是确定被调用方法的版本(即调用哪一个方法)。但是Class文件的编译过程不包含传统编译中的连接步骤,一切方法调用在Class文件里面存储的都只是符号引用,而不是方法在实际运行时内存布局的入口地址(相当于直接引用)。这个特性给Java带来了更强大的动态扩展能力,但也使方法调用过程变得复杂,需要在类加载期间,甚至到运行期间才能确定目标方法的直接引用。...

2019-11-15 14:41:55 902

原创 redis---数据库

redis服务器会将所有的数据库保存在redisServer结构的db数组中,每一个redisDb结构代表一个数据库。如下:struct redisServer { ... redisDb *db; //一个数组,保存服务器中所有的数据库 ... int dbnum; //服务器中的数据库数量);1. 切换数据库当需要切换目标数据库时,可以使用SELECT命令。而在客户端状态r...

2019-11-14 09:06:18 272

原创 leetcode_62:不同路径

这个题目刚开始看差点把我绕进去,就真的是自己拿着笔想要去一条一条的找,然后看有什么规律。忽然发现,如果要达到某一个点,只能是从它的上面或者左面过来,也就是只要到达了它的左面相邻点或者上面相邻点,也就相当于到达了重点。即(m, n)=(m-1, n) + (m, n-1);那么问题就好解决了,我们只需要求出达到它左面的次数加上到达它上面的次数,然后两者相加就可以了,这是一个递归的过程,当到达最上端或...

2019-11-12 19:53:35 82

原创 leetcode_114:二叉树展开为链表

要知道这个题目转换为链表肯定是使用“左链”或者“右链”来连接它们,这里我们就使用“右链”。有两种解法。1.根据后序遍历的特点来改造我们知道后续遍历的顺序是左子树—>右子树—>根节点。所以我们可以先把左子树变为一个链,然后放到根的右子树上,然后将右子树变为一个链,最后把右子树放到左子树那个链尾上就行了,代码如下:class Solution { public void fl...

2019-11-09 19:51:09 88

原创 leetcode_128:最长连续序列

这个题目一看的话,只需要个排序就好了。但是题目要求时间复杂度为O(n),而排序中最小的时间复杂度也不过是O(logn),所以肯定不行的。我们的思路可以是对每一个元素,我们查看它相邻的元素是不是在数组内。当然这个过程中对于“相邻”要有一些特别的说明,要么就找比他大的,要么就找比它小的,这样不会重复寻找。暴力破解代码如下:class Solution { private boolean ar...

2019-11-09 13:10:06 303

cifar10-python.zip

cifar图片库,里面包含了cifar的所有图片,有做深度学习的可以下载。

2019-08-08

【批量下载】pdf密码移除等.zip

里面包含两个文件,一个可以将加密的pdf进行解密,从而能够复制pdf内的内容,一个可以将pdf转为word。

2019-08-08

ReBEL-0.2.7.zip

包含集合卡尔曼滤波等常见的数据同化算法,自定义数据输入输出后,直接使用包内算法即可。

2019-07-11

空空如也

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

TA关注的人

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