好奇好学

学习学习再学习,努力努力再努力,细心细心再细心

JAVA 对象序列化小例子实现

JAVA  对象序列化 对象序列化:就是将那些实现了Serializable接口的对象转换成一个字节序列,并能够在以后将这个字节序列完全恢复为原来的对象。 对象的反序列化: 对象序列化的适用场景: a)当想要把内存中的对象保存到一个文件中或者数据库中的时候,可以使用序列化; b)当想要使用套接字...

2017-06-08 16:25:01

阅读数 320

评论数 2

JAVA 两个Integer 中1000==1000为false而100==100为true?

这个问题刚遇见的时候很是奇怪,先贴上测试代码 public class SOlution { public static void main(String[] args){ Integer a=1000; Integer b=1000;    System.out.println(a==...

2017-06-06 16:16:26

阅读数 813

评论数 1

洗牌算法

问题描述 所谓洗牌算法,就是给你一个1到n的序列,让你随机打乱,保证每个数出现在任意一个位置的概率相同,也就是说在n!个的排列中,每一个排列出现的概率相同。 解决思路 第一种思路——随机生成 (1)生成一个随机数,放到数组中 (2)重复(1)但是要确保与之前生成的随机数不一样,否则再次随机; ...

2017-06-05 10:49:37

阅读数 236

评论数 1

最小的K个数 java实现 剑指offer

题目描述 输入n个整数,找出其中最小的K个数。例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4,。 解题思想: 原来的做题思路是直接快速排序法排一遍,在取出这最小的K个数,可行,但是有些排序多余了,因为这边只要找到最小的K个数,快排的话会整体排一遍,次数...

2017-06-04 09:54:25

阅读数 412

评论数 1

找出数组中出现次数大于一半的数字 Java实现 剑指offer

题目描述: 数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。如果不存在则输出0 解题思路: 第一种最简单,进行快速排序,然后取出最中间的数字,并且用这个...

2017-06-03 22:34:38

阅读数 334

评论数 1

判断数组是否是二叉搜索树的后序遍历序列 JAVA实现

题目描述: 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同; 题目解析: 二叉搜索树的特点是:根节点大于左子树所有节点,小于右子树所有节点。每棵子树都要满足这样的特点才是二叉搜索树。那我们的输入是二叉搜...

2017-06-02 10:54:01

阅读数 392

评论数 1

二叉树 逐层遍历

题目描述: 从上往下打印出二叉树的每个节点,同层节点从左至右打印。 解决思路: 二叉树见下图,我们要打印的顺序是:1,2,3,4,5,6,7,8,9,10;可以看到我们先要打印根节点,之后打印第二层从左到右。我们这边要用到队列容器,先进先出的特点。首先我们在队列中插入根结点。 1、然后我们...

2017-06-02 09:30:46

阅读数 1451

评论数 0

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