摘要: 工厂模式 工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。根据工厂模式实现的类可以根据提供的数据生 阅读全文
posted @ 2019-04-16 21:44 离愁i 阅读(187) 评论(0) 推荐(0) 编辑
摘要: 判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。 示例 1: 输入: 121 输出: true 示例 2: 示例 3: 上面的这种方法需要把数全部都逆过来,但是,我们可以再想想,回文数它的特征。 2.回文数就是逆过来还是这个数本身,那意思就是,有一半的数他们是 阅读全文
posted @ 2019-04-15 23:06 离愁i 阅读(632) 评论(0) 推荐(0) 编辑
摘要: 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。 你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。 示例: 给定 nums = [2, 7, 11, 15], target = 9 因为 num 阅读全文
posted @ 2019-04-15 15:05 离愁i 阅读(143) 评论(0) 推荐(0) 编辑
摘要: 单例模式: 单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不 阅读全文
posted @ 2019-04-15 12:42 离愁i 阅读(161) 评论(0) 推荐(0) 编辑
摘要: 运行结果如下: 以上就是我对这个题目的解答,用来三种排序,其实也可以有其他的排序都可以。如果有需要,请自行完成,我就不一一列举了。 阅读全文
posted @ 2019-04-14 23:27 离愁i 阅读(2669) 评论(0) 推荐(0) 编辑
摘要: 方法二: 结果如下: 从上面的代码中我们可以看到先将nums2放入nums2,然后再排序。方法一相当与用了两次双重循环,时间复杂度是否优点大呢??而且这样是否浪费了题意呢??那再读一遍题:给定两个有序整数数组 nums1 和 nums2,将 nums2 合并到 nums1 中,使得 num1 成为一 阅读全文
posted @ 2019-04-14 16:27 离愁i 阅读(705) 评论(0) 推荐(0) 编辑
摘要: 题目描述:输入一颗二叉树的跟节点和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。(注意: 在返回值的list中,数组长度大的数组靠前) 思路: 如上图,例如整数为26,根节点为12,那么,满足题意的路径有【12-5-9】, 阅读全文
posted @ 2019-01-06 14:37 离愁i 阅读(115) 评论(0) 推荐(0) 编辑
摘要: 题目描述: 输入一个整数数组,判断该数组是不是某二叉搜索树的前序和后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。 二叉搜索树:空树或者二叉树的所有结点比它的左子结点大,比它的右子结点小。 举例: 一、前序遍历: 思路:前序遍历的方法是,先遍历根节点,在遍历 阅读全文
posted @ 2019-01-04 23:45 离愁i 阅读(1766) 评论(0) 推荐(0) 编辑
摘要: 一、需求: 最近在做文件传输的东西,文件传输当然是传输很重要,包括编码格式以及进制的统一。 简略的说一下这次做的东西:首先文件是按照块来发送的,一块一块大的发,但是,发送的过程是这样的; 先发送头部,头部包括三部分:1.一个int类型的文件Id, 2.一个long类型的偏移量,因为是块发,当然需要知 阅读全文
posted @ 2018-11-28 11:25 离愁i 阅读(1044) 评论(0) 推荐(0) 编辑
摘要: 一、面对生产者和消费者的问题,首先我们得明白几点: 生产者:生产数据;消费者:消费数据。消费者在没有数据可供消费的情况下,不能消费;生产者在原数据没有被消费掉的情况下,不能生产新数据。假设,数据空间只有一个。实际上,如果实现了正确的生产和消费,则,两个线程应该是严格的交替执行。synchronize 阅读全文
posted @ 2018-11-12 23:38 离愁i 阅读(1211) 评论(0) 推荐(0) 编辑