8 这瓜保熟么

尚未进行身份认证

平常心

等级
TA的排名 1w+

Guava之Immutable(不可变)集合

一、概述guava是google的一个库,弥补了java语言的很多方面的不足,很多在java8中已有实现,暂时不展开。Collections是jdk提供的一个工具类。Guava中不可变对象和Collections工具类的unmodifiableSet/List/Map/etc的区别:当Collections创建的不可变集合的wrapper类改变的时候,不可变集合...

2019-11-07 14:20:23

对称二叉树

给定一个二叉树,检查它是否是镜像对称的。例如,二叉树[1,2,2,3,4,4,3]是对称的。1/\22/\/\3443但是下面这个[1,2,2,null,3,null,3]则不是镜像对称的:1/\22\\33classSolution{publi...

2019-10-28 21:00:29

相同的树

给定两个二叉树,编写一个函数来检验它们是否相同。如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。示例1:输入:11/\/\2323[1,2,3],[1,2,3]输出:true示例2:输入:1...

2019-10-28 20:40:47

翻转二叉树

翻转一棵二叉树。示例:输入:4/\27/\/\1369输出:4/\72/\/\9631先序遍历:从顶向下替换,交换为所有节点后再从跟节点开始classSolution{...

2019-10-28 17:01:14

给定一个二叉树,检查它是否是镜像对称的

给定一个二叉树,检查它是否是镜像对称的。例如,二叉树[1,2,2,3,4,4,3]是对称的。1/\22/\/\3443但是下面这个[1,2,2,null,3,null,3]则不是镜像对称的:1/\22\\33说明:如果你可以运用递归和迭...

2019-10-21 21:21:06

一步一步看清动态规划----背包问题(java解)

题目背景话说有一哥们去森林里玩发现了一堆宝石,他数了数,一共有n个。但他身上能装宝石的就只有一个背包,背包的容量为C。这哥们把n个宝石排成一排并编上号:0,1,2,…,n-1。第i个宝石对应的体积和价值分别为V[i]和W[i]。排好后这哥们开始思考:背包总共也就只能装下体积为C的东西,那我要装下哪些宝石才能让我获得最大的利益呢?OK,如果是你,你会怎么做?你斩钉截铁的说:动态规划啊!...

2019-10-21 16:43:25

二叉树的中序遍历

classSolution{publicList<Integer>inorderTraversal(TreeNoderoot){List<Integer>list=newArrayList<>();Stack<TreeNode>stack=newStack<>()...

2019-10-21 15:41:03

二叉树的最大深度

Java三种解法,循环版BFS,循环版DFS,递归版DFS一.广度优先遍历,循环版,借助队列实现;自定义数据结构Record,记录节点和其对所在的层数packagedigui;importjava.util.LinkedList;publicclassDFSTest2{publicstaticvoidmain(String[]args)...

2019-10-17 15:42:06

二进制整数和十六进制整数之间的转换

计算机中常用的数的进制主要有:二进制、八进制、十六进制,学习计算机要对其有所了解。2进制,用两个阿拉伯数字:0、1;8进制,用八个阿拉伯数字:0、1、2、3、4、5、6、7;10进制,用十个阿拉伯数字:0到9;二进制整数转换为十六进制整数时,每四位二进制数字转换为一位十六进制数字,运算的顺序是从低位向高位依次进行,高位不足四位用零补齐。下图演示了如何将二进制整数1011010101...

2019-10-17 10:31:37

10进制转化为16进制的算法

除16取余数得最低1位,然后把商继续除得第2位,直到商等于065036除16,余数12(C),商40644064除16,余数0(0),商254254除16,余数14(E),商1515除16,余数15(F),商0,结束得16进制为FE0C...

2019-10-16 20:36:00

leetcode-第10周双周赛-5079-三个有序数组的交集

给出三个均为严格递增排列的整数数组arr1,arr2和arr3。返回一个由仅在这三个数组中同时出现的整数所构成的有序数组。示例:输入:arr1=[1,2,3,4,5],arr2=[1,2,5,7,9],arr3=[1,3,4,5,8]输出:[1,5]解释:只有1和5同时在这三个数组中出现.提示:1<=arr1.l...

2019-10-16 15:43:36

Java中守护线程的总结

在Java中有两类线程:UserThread(用户线程)、DaemonThread(守护线程)用个比较通俗的比如,任何一个守护线程都是整个JVM中所有非守护线程的保姆:只要当前JVM实例中尚存在任何一个非守护线程没有结束,守护线程就全部工作;只有当最后一个非守护线程结束时,守护线程随着JVM一同结束工作。Daemon的作用是为其他线程的运行提供便利服务,守护线程最典型的应用就是...

2019-10-14 20:12:21

递归原理图解

2019-10-08 14:43:39

一文读懂递归算法

递归的学习绝对是一个持久战,没有人可以一蹴而就。一年两年的,很寻常。问题的复杂,加上递归本身的细节,我们想要'学会','学好',再'用好',是需要一个漫长的过程的。所以还希望读者有足够的耐心。一:什么是递归所谓递归,简单点来说,就是一个函数直接或间接调用自身的一种方法,它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解。我们可以把”递归“比喻成...

2019-10-08 14:36:50

二叉搜索树的范围和

给定二叉搜索树的根结点root,返回L和R(含)之间的所有结点的值的和。二叉搜索树保证具有唯一的值。示例1:输入:root=[10,5,15,3,7,null,18],L=7,R=15输出:32示例2:输入:root=[10,5,15,3,7,13,18,1,null,6],L=6,R=10输出:23提示:树中的结...

2019-10-08 14:33:11

将一个数组变成二叉树

二叉树是每个节点最多有两个子树的树结构。通常子树被称作“左子树”和“右子树”。比如数组:int[]array={1,2,3,4,5,6,7,8,9}变为二叉树为:分析:1、首先要定义每一个结点,每一个结点包括自身值,左结点和右结点,实现get、set方法。publicclassNode{publicintdata;...

2019-09-29 13:54:15

宝石问题

给定字符串J代表石头中宝石的类型,和字符串S代表你拥有的石头。S中每个字符代表了一种你拥有的石头的类型,你想知道你拥有的石头中有多少是宝石。J中的字母不重复,J和S中的所有字符都是字母。字母区分大小写,因此"a"和"A"是不同类型的石头。示例1:输入:J="aA",S="aAAbbbb"输出:3示例2:输入:J="z",S="ZZ"...

2019-09-29 11:37:57

数据结构:递归算法

记得小时候经常讲的一个故事:从前有座山,山上有座庙,庙里有一个老和尚和一个小和尚,一天,老和尚给小和尚讲了一个故事,故事内容是“从前有座山,山上有座庙,庙里有一个老和尚和一个小和尚,一天,老和尚给小和尚讲了一个故事,故事内容......”  什么是递归,上面的小故事就是一个明显的递归。以编程的角度来看,程序调用自身的编程技巧称为递归(recursion)。  百度百科中的解释是这样的:递...

2019-09-23 19:37:30

int mid = l + (r - l) / 2 这样写为什么就不会整型溢出了呢?

如果l和r都在整型范畴里,mid在l,r之间,首先,这个结果是不会溢出的。对于l+(r-l)/2,计算过程中,r-l使用减法,不会超出最大的整型范畴,同时,l+(r-l)/2中的这个加法,由于上面所说,结果不会整形溢出,这个加法也是安全的。但是对于(l+r)/2,l+r是一个临时的计算结果,这个结果即使对于l和r都在整型范畴里,也可能溢出...

2019-09-19 22:51:02

一个二叉树按顺序方式存储在一个一维数组中,如图:

一个二叉树按顺序方式存储在一个一维数组中,如图:

2019-09-19 19:57:34

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv2
    勤写标兵Lv2
    授予每个自然周发布4篇到6篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。