算法模式
文章平均质量分 63
DevilNoV
曾经从事J2SE的开发工作现在苦逼的Android开发者ios爱好者
展开
-
23个经典JDK设计模式
下面是JDK中有关23个经典设计模式的示例:Structural(结构模式)Adapter:把一个接口或是类变成另外一种。o ● java.util.Arrays#asList()o ● javax.swing.JTable(TableModel)o ● java.io.InputStreamReader(InputStream)原创 2013-06-13 21:25:46 · 692 阅读 · 0 评论 -
23个经典JDK设计模式
下面是JDK中有关23个经典设计模式的示例:Structural(结构模式)Adapter:把一个接口或是类变成另外一种。o ● java.util.Arrays#asList()o ● javax.swing.JTable(TableModel)o ● java.io.InputStreamReader(InputStream)...原创 2011-04-25 11:43:31 · 124 阅读 · 0 评论 -
一道关于放鸡蛋的算法
有1000个鸡蛋,10个筐,将鸡蛋放入这样10个筐中,给定一个任意数N2011-05-02 16:27:32 · 463 阅读 · 0 评论 -
两条线段是否相交,计算交点公式。
A本身无限长,假设B也无限长,直接求得AB的交点坐标,然后再判断该坐标是否在定长线段B的内部就可以了啊 AB本身就是两条直线,知道两端点就可以知道其直线方程,B也是一样,两个方程联立, 得到一个坐标,再看该坐标是否在B的定义域内就可以啊 A的两点为(x1,y1),(x2,y2) 则A的直线方程为l1:y-y1=(y2-y1)(x-x1)/(x2-x1) ...2011-08-23 11:41:19 · 1268 阅读 · 0 评论 -
求点到线段的垂足
第一种: 设直线方程为ax+by+c=0,点坐标为(m,n) 则垂足为((b*b*m-a*b*n-a*c)/(a*a+b*b),(a*a*n-a*b*m-b*c)/(a*a+b*b)) 第二种:计算点到线段的最近点 如果该线段平行于X轴(Y轴),则过点point作该线段所在直线的垂线,垂足很容 易求得,然后计算出垂足,如果垂足在线段上则返回垂足,否则返回离垂足近的端 点; 如果该线段不平行...2011-09-02 17:52:14 · 1775 阅读 · 0 评论 -
单例模式完全剖析
概要 单例模式是最简单的设计模式之一,但是对于Java的开发者来说,它却有很多缺陷。在本月的专栏中,David Geary探讨了单例模式以及在面对多线程(multithreading)、类装载器(classloaders)和序列化(serialization)时如何处理这些缺陷。 单例模式适合于一个类只有一个实例的情况,比如窗口管理器,打印缓冲池和文件系统,它们都是原型的例子。典型的情况是,那些对...原创 2011-07-12 09:16:41 · 126 阅读 · 0 评论 -
Java基础之随机打乱一个顺序数组
如何打乱一个顺序的数组,其实集合的帮助类Collection就有现成的方法可用,而且效率还蛮高的,总比自定义随机数等等方法要好很多。其实乱序就这么简单,步骤如下:1. 将一个顺序排列的数组添加到集合中2. 可以用集合帮助类Collections的shuffle()方法3. 用hasNext()、next()方法遍历输入集合 view plain/*...原创 2011-12-16 20:32:55 · 206 阅读 · 0 评论 -
JAVA中运用数组的四种排序方法
:::::JAVA中运用数组的四种排序方法::::: JAVA中在运用数组进行排序功能时,一般有四种方法:快速排序法、冒泡法、选择排序法、插入排序法。 快速排序法主要是运用了Arrays中的一个方法Arrays.sort()实现。 冒泡法是运用遍历数组进行比较,通过不断的比较将最小值或者最大值一个一个的遍历出来。 选择排序法是将数组的第一个数据作为最大或者最小的值...2013-06-04 13:09:48 · 146 阅读 · 0 评论 -
Java程序员必知的8大排序
::::Java程序员必知的8大排序:::: 8种排序之间的关系: 1, 直接插入排序(1)基本思想:在要排序的一组数中,假设前面(n-1)[n>=2] 个数已经是排好顺序的,现在要把第n个数插到前面的有序数中,使得这n个数也是排好顺序的。如此反复循环,直到全部排好顺序。(2)实例(3)用java实现 package com.njue; ...2013-06-04 13:11:42 · 242 阅读 · 0 评论 -
一篇搞定RSA加密与SHA签名|与Java完全同步
基础知识什么是RSA?答:RSA是一种非对称加密算法,常用来对传输数据进行加密,配合上数字摘要算法,也可以进行文字签名。RSA加密中padding?答:padding即填充方式,由于RSA加密算法中要加密的明文是要比模数小的,padding就是通过一些填充方式来限制明文的长度。后面会详细介绍padding的几种模式以及分段加密。加密和加签有什么区别?答:原创 2016-01-12 16:09:49 · 1354 阅读 · 0 评论 -
java实现中文汉字的首字母排序
java中可以排序的工具类和接口共有五个SortedMap 、SortedSet、TreeMap 、TreeSet和Collections,Collections中需要显式调用sort()方法。 事例如下: Java代码 import java.util.List; import java.util.ArrayList; impor原创 2013-06-25 10:18:31 · 2000 阅读 · 0 评论 -
求点到线段的垂足
第一种: 设直线方程为ax+by+c=0,点坐标为(m,n) 则垂足为((b*b*m-a*b*n-a*c)/(a*a+b*b),(a*a*n-a*b*m-b*c)/(a*a+b*b)) 第二种:计算点到线段的最近点 如果该线段平行于X轴(Y轴),则过点point作该线段所在直线的垂线,垂足很容 易求得,然后计算出垂足,如果垂足在线段上则返回垂足,否则返回离垂足近的端原创 2013-06-13 21:27:18 · 2874 阅读 · 0 评论 -
一道关于放鸡蛋的算法
有1000个鸡蛋,10个筐,将鸡蛋放入这样10个筐中,给定一个任意数N(这道题类似: 一、1000只小老鼠检验10个瓶子哪个有毒药 二、十根手指可以表示的1024个数)注:这是在论坛看到的,觉得不错,就整理一下拿过来。个人觉得最好的答案是: 是2 的 0-9 次方,即1,2,4,8,16,32,64,128,256,489原创 2013-06-13 21:26:05 · 1524 阅读 · 0 评论 -
两条线段是否相交,计算交点公式。
A本身无限长,假设B也无限长,直接求得AB的交点坐标,然后再判断该坐标是否在定长线段B的内部就可以了啊 AB本身就是两条直线,知道两端点就可以知道其直线方程,B也是一样,两个方程联立, 得到一个坐标,再看该坐标是否在B的定义域内就可以啊 A的两点为(x1,y1),(x2,y2) 则A的直线方程为l1:y-y1=(y2-y1)(x-x1)/原创 2013-06-13 21:27:16 · 1791 阅读 · 0 评论 -
单例模式完全剖析
概要 单例模式是最简单的设计模式之一,但是对于Java的开发者来说,它却有很多缺陷。在本月的专栏中,David Geary探讨了单例模式以及在面对多线程(multithreading)、类装载器(classloaders)和序列化(serialization)时如何处理这些缺陷。单例模式适合于一个类只有一个实例的情况,比如窗口管理器,打印缓冲池和文件系统,它们都是原型的例子。典型的原创 2013-06-13 21:27:09 · 789 阅读 · 0 评论 -
java中判断字符串是否是一个整数
1.使用类型转换判断 1 try { 2 String str="123abc"; 3 int num=Integer.valueOf(str);//把字符串强制转换为数字 4 return true;//如果是数字,返回True 5 } catch (E原创 2013-06-14 14:39:50 · 963 阅读 · 0 评论 -
JAVA中运用数组的四种排序方法
:::::JAVA中运用数组的四种排序方法::::: JAVA中在运用数组进行排序功能时,一般有四种方法:快速排序法、冒泡法、选择排序法、插入排序法。 快速排序法主要是运用了Arrays中的一个方法Arrays.sort()实现。 冒泡法是运用遍历数组进行比较,通过不断的比较将最小值或者最大值一个一个的遍历出来。 选择排序法是将数组的原创 2013-06-14 14:40:31 · 873 阅读 · 0 评论 -
Java基础之随机打乱一个顺序数组
如何打乱一个顺序的数组,其实集合的帮助类Collection就有现成的方法可用,而且效率还蛮高的,总比自定义随机数等等方法要好很多。其实乱序就这么简单,步骤如下:1. 将一个顺序排列的数组添加到集合中2. 可以用集合帮助类Collections的shuffle()方法3. 用hasNext()、next()方法遍历输入集合 view plain原创 2013-06-14 14:39:01 · 1481 阅读 · 0 评论 -
Java程序员必知的8大排序
::::Java程序员必知的8大排序:::: 8种排序之间的关系: 1, 直接插入排序(1)基本思想:在要排序的一组数中,假设前面(n-1)[n>=2] 个数已经是排好顺序的,现在要把第n个数插到前面的有序数中,使得这n个数也是排好顺序的。如此反复循环,直到全部排好顺序。(2)实例(3)用java实现原创 2013-06-14 14:41:21 · 980 阅读 · 0 评论 -
java中判断字符串是否是一个整数
1.使用类型转换判断 1 try { 2 String str="123abc"; 3 int num=Integer.valueOf(str);//把字符串强制转换为数字 4 return true;//如果是数字,返回True 5 } catch (Excepti...原创 2013-02-27 14:21:56 · 546 阅读 · 0 评论