- 博客(12)
- 资源 (11)
- 收藏
- 关注
原创 生成窗口最大值数组
有一个整型数组arr和一个大小为w的窗口从数组的最左边滑到最右边,窗口每次向右边滑一个位置。例如,数组为【4,3,5,4,3,3,6,7】,窗口大小为3时: 窗口数组 最大值 [4 3 5] 4 3 3 6 7 5 4 [3 5 4] 3 3 6 7 5 ...
2018-04-23 21:21:11 780 3
原创 用一个栈实现另一个栈的排序
问题描述 一个栈中元素的类型为整型,现在想将该栈从顶到底按从大到小的顺序排序,只许申请一个栈。除此之外,可以申请新的变量,但不能申请额外的数据结构。 解答 将要排序的栈记为stack,申请的辅助栈记为help,在stack上执行pop操作,弹出的元素记为cur。 如果cur小于或者等于help的栈顶元素,则将cur直接压入help; 如果cur大于help的栈顶元素,则将h...
2018-04-23 16:50:02 278
原创 如何仅用递归函数和栈操作逆序一个栈(JAVA)
问题描述: 一个栈依次压入1、2、3、4、5,即从栈顶到栈底分别为5、4、3、2、1。将这个栈转置之后,从栈顶到栈底为1、2、3、4、5,也就是完成栈的逆序。只能用递归函数来实现,不能使用其他的数据结构。解答:递归函数一:将栈stack的栈底元素返回并移除。代码如下:public static int getAndRemoveLastElement(Stack<Integer&...
2018-04-23 11:18:28 599
原创 JAVA并发编程总结
进程与线程几乎所有的操作系统都支持同时运行多个任务,一个任务通常就是一个程序,每个运行中的程序就是一个进程。当一个程序运行时,内部可能包含了多个顺序执行流,每个顺序执行流就是一个线程。 几乎所有操作系统都支持进程的概念,所有运行中的任务通常对应一条进程(Process)。当一个程序进入内存运行,即变成一个进程。进程是处于运行过程中的程序,并且具有一定独立功能,进程是系统进行资源分配和调度的一个独立...
2018-04-17 15:24:14 231 1
原创 java设计模式之建造者模式
概述:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。适用性: 1.当建造复杂对象的算法应该独立于该对象的组成部分以及它们的装配方式时。 2.当构造过程必须允许被构造的对象有不同的表示时。参与者: 1. Builder: 为创建一个Product对象的各个部件指定抽象接口。 2. ConcreteBuilder:实现Builder的接口以构...
2018-04-16 20:42:44 173
原创 Java设计模式---工厂方法模式(Factory-Method)
概述:定义一个用于创建对象的接口,让子类决定实例化哪一个类。FactoryMethod使一个类的实例化延迟到其子类。适用性: 1.当一个类不知道它所必须创建的对象的类的时候。 2.当一个类希望由它的子类来指定它所创建的对象的时候。 3.当类将创建对象的职责委托给多个帮助子类的某一个,并且你希望将哪一个帮助子类使代理者这一信息局部化的时候。参与者: 1.Product:定义工...
2018-04-16 13:02:58 200
原创 Java单例模式以及实现
一. 什么是单例模式因程序需要,有时我们只需要某个类同时保留一个对象,不希望有更多对象,此时,我们则应考虑单例模式的设计。二. 单例模式的特点1. 单例模式只能有一个实例。2. 单例类必须创建自己的唯一实例。3. 单例类必须向其他对象提供这一实例。三. 单例模式VS静态类在知道了什么是单例模式后,我想你一定会想到静态类,“既然只使用一个对象,为何不干脆使用静态类?”,这里我会将单例模式和静态类进行...
2018-04-15 22:38:12 362
原创 SSH三大框架面试题集锦
1.Hibernate工作原理及为什么要用?原理: 1.读取并解析配置文件 2.读取并解析映射信息,创建SessionFactory3.打开Session 4.创建事务Transation 5.持久化操作 6.提交事务 7.关闭Session 8.关闭SesstionFactory为什么要用: 1. 对JDBC访问数据库的代码做了封装,大大简化了数据访问层繁琐的重复性代码。 2. Hibernat...
2018-04-15 11:17:03 2047
原创 JAVA内部类
为什么使用内部类?使用内部类最吸引人的原因是:每个内部类都能独立地继承一个(接口的)实现,所以无论外围类是否已经继承了某个(接口的)实现,对于内部类都没有影响1.1.使用内部类最大的优点就在于它能够非常好的解决多重继承的问题,使用内部类还能够为我们带来如下特性:(1)、内部类可以用多个实例,每个实例都有自己的状态信息,并且与其他外围对象的信息相互独。(2)、在单个外围类中,可以让多个内部类以不同的...
2018-04-10 14:18:31 129
原创 Java表达式转型规则
当使用 +、-、*、/、%、运算操作是,遵循如下规则:只要两个操作数中有一个是double类型的,另一个将会被转换成double类型,并且结果也是double类型,如果两个操作数中有一个是float类型的,另一个将会被转换为float类型,并且结果也是float类型,如果两个操作数中有一个是long类型的,另一个将会被转换成long类型,并且结果也是long类型,否则(操作数为:byte、shor...
2018-04-04 20:03:19 273
原创 JAVA中类加载时候的初始化问题
类加载时候的初始化,在执行这个类的 main方法时,会导致类进行加载,而类加载的属性如下:1、虚拟机在首次加载Java类时,会对静态初始化块、静态成员变量、静态方法进行一次初始化。我们不要去纠结这里的顺序,一般来说我们只需要知道,静态方法一般在最后。 2、只有在调用new方法时才会创建类的实例 3、类实例创建过程:按照父子继承关系进行初始化,首先执行父类的初始化块部分,然后是父类的构造方法;再执行...
2018-04-04 17:35:39 938
原创 数字分类
题目描述给定一系列正整数,请按要求对数字进行分类,并输出以下5个数字:A1 = 能被5整除的数字中所有偶数的和;A2 = 将被5除后余1的数字按给出顺序进行交错求和,即计算n1-n2+n3-n4...;A3 = 被5除后余2的数字的个数;A4 = 被5除后余3的数字的平均数,精确到小数点后1位;A5 = 被5除后余4的数字中最大数字。输入描述:每个输入包含1个测试用例。每个...
2018-04-04 17:03:44 279
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人