- 博客(104)
- 资源 (4)
- 收藏
- 关注
原创 K个最近的点
给定一些 points 和一个 origin,从 points 中找到 k 个离 origin 最近的点。按照距离由小到大返回。如果两个点有相同距离,则按照x值来排序;若x值也相同,就再按照y值排序。样例给出 points = [[4,6],[4,7],[4,4],[2,5],[1,1]], origin = [0, 0], k = 3返回 [[1,1],[2,5],[4,4]
2017-07-07 14:06:57
2472
1
原创 jsp页面内容显隐总结
选中grid某条记录按钮显隐< open:grid property ="record" caption ="查询结果" width ="100%" keylist ="zhuanjia_id" nowrap ="true" navbar ="top" fixrow ="true" sortColumn ="*" onselect ="func_grid_select()">function fu
2016-03-17 09:07:22
1421
原创 快速排序二
public class ArrayIns { private long[] theArray; private int nElems; public ArrayIns(int max){ theArray=new long[max]; nElems=0; } public void insert(long value){
2016-03-15 17:05:01
747
原创 快速排序一
public class ArrayIns { private long[] theArray; private int nElems; public ArrayIns(int max){ theArray=new long[max]; nElems=0; } public void insert(long value){
2016-03-15 16:44:26
763
原创 划分算法
public class ArrayPar { private long[] theArray; private int nElems; public ArrayPar(int max){ theArray=new long[max]; nElems=0; } public void insert(long value){
2016-03-15 16:01:32
1382
原创 希尔排序
public class ArraySh { private long[] theArray; private int nElems; public ArraySh(int max){ theArray=new long[max]; nElems=0; } public void insert(long value){
2016-03-15 14:05:23
1103
原创 非递归实现归并排序
归并算法的中心是归并两个已经有序的数组public class MergeApp { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub int[] arrayA={23,47,81,95};
2016-03-14 11:33:33
1190
原创 汉诺塔问题
对于上面把问题抽象出来的那段描述,对于n > 1的时候,又可以抽象(换成“总结”这个词会没那么大压力吗?)出这3步: (1)、将底盘n以上的环(n-1个)移动到B (2)、将底盘n从A移动到C (3)、将B上的环(n-1个)移动到C 其中第1步和第3步的步数是一样的,因为环的数量一样(n-1个),只是目标的柱子不同而已。public class TowerApp { /**
2016-03-14 11:05:19
1095
原创 递归求三角数字
package cn.gwssi;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;public class TriangleApp { /** * @param args */ static int theNumber;
2016-03-14 09:58:29
1081
原创 Josephus问题
public class Link { public long lData; public Link next; public Link(long lData){ this.lData=lData; } public void displayLink(){ System.out.print(lData+" "); }}p
2016-03-11 15:19:07
735
原创 循环链表实现队列
public class Link { public long lData; public Link next; public Link(long lData){ this.lData=lData; } public void displayLink(){ System.out.print(lData+" "); }}pu
2016-03-11 14:47:28
1346
原创 循环链表
public class Link { public long lData; public Link next; public Link(long lData){ this.lData=lData; } public void displayLink(){ System.out.print(lData+" "); }}pu
2016-03-11 14:26:57
686
原创 基于双向链表的双端队列
public class Link { public long dData; public Link next; public Link previous; public Link(long dData){ this.dData=dData; } public void displayLink(){ System.out.p
2016-03-10 16:32:07
960
原创 基于有序链表的优先级队例
public class Link { public long lData; public Link next;//reference to next Link public Link(long lData){ this.lData=lData; } public void displayLink(){ System.out.pr
2016-03-10 16:12:54
785
原创 双向链表
public class Link { public long dData; public Link next; public Link previous; public Link(long dData){ this.dData=dData; } public void displayLink(){ System.out.p
2016-03-10 15:43:10
547
原创 数组利用有序链表排序
public class Link { public long lData; public Link next;//reference to next Link public Link(long lData){ this.lData=lData; }}public class SortedList { private Link first;
2016-03-10 11:44:21
791
原创 数字转换成中文汉字
public class NumberUtils { public NumberUtils(){ } public static final String[] UNITS={"","十","百","千","万","十","百","千","亿","十","百","千"}; public static final String[] NUMS = {"零","一","二",
2016-03-10 11:34:26
1084
原创 win7配置免安装mysql
通过cmd进入mysql解压目录bin目录中,执行如下命令:mysqld install mysqltest --defaults-file="E:\Develop\mysql-5.6.19-winx64\test.ini"【mysqltest为添加的服务名】删除已注册的服务指令:sc delete mysqltest
2016-03-10 10:36:04
492
原创 有序链表
public class Link { public long lData; public Link next;//reference to next Link public Link(long lData){ this.lData=lData; } public void displayLink(){ System.out.pr
2016-03-03 17:31:51
585
原创 链表实现队列
public class Link { public long lData; public Link next;//reference to next Link public Link(long lData){ this.lData=lData; } public void displayLink(){ System.out.pr
2016-03-03 16:07:18
553
原创 用链表实现栈
public class Link { public long lData; public Link next;//reference to next Link public Link(long lData){ this.lData=lData; } public void displayLink(){ System.out.pr
2016-03-03 15:50:08
561
原创 双端链表
public class Link { public long lData; public Link next;//reference to next Link public Link(long lData){ this.lData=lData; } public void displayLink1(){ System.out.
2016-03-03 15:03:55
495
原创 单链表
public class Link { public int iData;//data public double dData;//data public Link next;//reference to next Link public Link(int iData,double dData){ this.iData=iData; th
2016-03-03 14:47:01
516
原创 栈应用——分隔符匹配
public class StackX { private int maxSize; private long[] stackArray; private int top; public StackX(int s){ maxSize=s; stackArray = new long[maxSize]; top=-1;
2016-03-03 10:53:43
520
原创 栈应用——单词逆序
public class StackX { private int maxSize; private long[] stackArray; private int top; public StackX(int s){ maxSize=s; stackArray = new long[maxSize]; top=-1;
2016-03-01 14:16:33
747
原创 队列Queue模拟排队问题
4.5 队列通用于模拟人、汽车、飞机、业务等等的流动情况。应用queue.java 程序(清单4.4)的Queue类,编写一个程序模拟超市的收款队列。可以用上机 作业4.1的display()方法,显示出顾客的几条队列。可以通过敲击一个键插入 一个新的顾客。为顾客选择在哪一个队列上。收银员为每个顾客服务的时间是 随机的(可假定为按照顾客买了多少东西而定)。一旦结完账,就从队列中删 除该顾客。为了简单
2016-03-01 10:15:22
8682
1
原创 优先级队列
/** * 优先级队列 */public class PriorityQ { private int maxSize; private long[] queArray; private int nItems; public PriorityQ(int s){ maxSize =s; queArray=new long
2016-02-29 17:26:55
622
原创 双端队列实现栈
4.3 编写一个基于上机作业4.2的Deque类的栈类。这个栈类应该与 stack.java程序(清单4.1)中的StackX类具有机同的方法和功能。public class StackY { private DuQueue stackQueue; public StackY(int size){ stackQueue = new DuQueue(size);
2016-02-29 15:22:11
955
原创 字符串逆转StringReverse
字符串逆转,将“I can fly”逆转为“fly can I” 思路:先将字符串整体逆转变成ylf nac I,然后以空格为分割符逆转空格左边的字符串即可。public class StringReverse { /** * @param args */ public void swap(char[] arr,int begin,int end){
2016-02-29 11:08:21
916
原创 双端队列
4.2 根据本章里对双端队列的讨论编写一个Deque类,它应该包括insertLeft()、insertRight()、removeLeft()、removeRight()、 isEmpty()、isFull()方法。要求像队列那样支持在数据末端的回绕。public class DuQueue { private int maxSize; private long[] queArr
2016-02-29 10:58:55
1047
1
原创 显示队列内容
4.1 为queue.java 程序(清单4.4)的Queue类中写一个方法,显示队列的 内容。注意这并不是要简单的显示出数组的内容。它要求按数据项插入的队 列的顺序,从第一个插入的数据项到最后一个插入的数据项显示出来。不要 输出因为在数组末端回绕而折成两半的样子。注意无论front和rear在什么位置上,都要正确显示出一个数据项和没有数据项的情况。public class Queue {
2016-02-29 10:15:31
1904
原创 插入排序的思想解决几类问题
3.2在isertSort.java程序(清单3.3)中给ArrayIns类加一个median()方法.这个方法将返回 数组的中间值.(回忆一下,数组中一半数据项比中间值大,一半数据项比中间值小。) 3.3在insertSort.java程序(清单3.3)中增加一个名为noDups()的方法,这个方法从已经有 序的数组中删掉重复的数据项而不破坏有序性。(可以用insertionSort()方法对
2016-02-26 11:37:09
929
原创 双向冒泡与奇偶冒泡
3.1 bubbleSort.java程序(清单3.1)和BubbleSort专题applet中,in索引变量都是从左到 右移动的,直到找到最大数据项并把它移动到右边的out变量外。修改bubbleSort()方法, 使它成为双向移动的。这样,in索引先像以前一样,将最大的数据项从左移到右,当它到 达out变量位置时,它掉头并把最小的数据项从右移到左。需要两个外部索引变量,一个在 右边(以前的out
2016-02-25 17:16:28
809
原创 二分查找、数组合并
2.4修改orderedArray.java程序(清单2.4)使insert()、delete()与find()方法一样都使用 二分查找,正如书中所建议的那样。 2.5向orderedArray.java程序(清单2.4)的OrdArray类加入一个merge()方法,使之可以将两个有序的源数组合并成一个有序的目的数组。在main()中添加代码,向两个源数组中插入随机数,调用merge()方法,
2016-02-25 16:18:11
936
原创 数组元素删除与排序
2.1 向highArray.java程序(清单2.3)的HighArray类添加一个名为getMax()的方法,它返回 数组中最大关键字的值,当数组为空时返回-1。向main()中添加一些代码来使用这个方法。 可以假设所有关键字都是正数。 2.2 修改编程作业2.1中的方法,使之不仅返回最大的关键字,而且还将该关键字从数组中删除。 将这个方法命名为removeMax()。 2.3 编程作业
2016-02-25 14:40:45
1552
原创 命令模式
命令模式,封装调用,把方法调用封装起来。 遥控器命令模式可将“动作的请求者”从“动作的执行者”对象中解耦。请求者可以是遥控器,而执行者对象就是厂商类其中之一的实例。利用命令对象,把请求(例如打开电灯)封装成特定对象(客厅电灯对象)。所以,如果对每个按钮都存储一个命令对象,那么当按钮被按下的时候,就可以请命令对象做相关的工作。只有命令对象能和正确的对象沟通,把事情做好。电灯和遥控器对象解耦了。pub
2016-02-22 10:31:00
1348
1
原创 单件模式
单件模式Singleton Pattern:用来创建独一无二的,只能有一个实例的对象的入场券。单件模式确保一个类只有一个实例,并提供全局访问点。经典的单件模式实现:public class Singleton{ private static Singleton uniqueInstance;//记录唯一实例 private Singleton(){}//只有类内才可以调用构造器
2016-02-17 10:31:19
694
原创 工厂模式
前言烘烤OO的精华,除了new操作符之外,还有更多制造对象的方法。 工厂方法用来处理对象的创建,并将这样的行为封装在子类中。这样,客户程序中关于超类的代码就和子类对象创建代码解耦了。简单工厂简单工厂其实不是一个设计模式,反而比较像是一种编程习惯。工厂factory处理创建对象的细节,一旦有了SimplePizzaFactory,orderPizza()就变成了此对象的客户。public class
2016-02-16 15:02:56
1028
原创 装饰者模式
运行时扩展,远比编译时期的继承威力大。 用对象组合的方式,做到在运行时装饰类。 在不修改任何底层代码的情况下,给你的对象赋予新的职责。装饰者和被装饰对象有相同的超类型,利用继承达到“类型匹配”,而不是利用继承获得“行为”装饰者可以在所委托被装饰者的行为之前或之后,加上自己的行为,以达到特定的目的。定义装饰者模式 装饰者模式动态的将责任附加到对象上,若要扩展功能,装饰者提供了比继承更有弹性
2016-02-15 10:59:19
650
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人