java递归
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Iterator;
public class test {
public static void main(String[] args) {
ArrayList<ArrayList<Integer>> list = getArrays(1, 20, 30);
Iterator<ArrayList<Integer>> iter = list.iterator();
while (iter.hasNext())
System.out.println(Arrays.toString(iter.next().toArray()));
}
public static int sum(int min, int max) {
if (min > max)
return 0;
return (min + max) * (max - min + 1) / 2;
}
public static ArrayList<ArrayList<Integer>> getArrays(int min, int max, int sum) {
if (sum(min, max) < sum)
return null;
ArrayList<ArrayList<Integer>> list = new ArrayList<ArrayList<Integer>>();
for (int i = max; i >= min; i--) {
ArrayList<Integer> array;
if (i > sum)
continue;
else if (i == sum) {
array = new ArrayList<Integer>();
array.add(i);
list.add(array);
}
else {
ArrayList<ArrayList<Integer>> temp = getArrays(min, i - 1, sum - i);
if (temp == null)
continue;
Iterator<ArrayList<Integer>> iter = temp.iterator();
while (iter.hasNext()) {
array = iter.next();
array.add(i);
list.add(array);
}
}
}
return list;
}
}
相关文档:
Java学习从入门到精通
一、 JDK (Java Development Kit)
JDK是整个Java的核心,包括了Java运行环境(Java Runtime Envirnment),一堆Java工具和Java基础的类库(rt.jar)。不论什么Java应用服务器实质都是内置了某个版本的JDK。因此掌握JDK是学好Java的第一步。最主流的J ......
一:准备 www.savarese.org download
1. rocksaw-1.0.0-src.tar.gz
2. vserv-tcpip-0.9.2-src.tar.gz
二:编译源文件得到jar包 使用Ant
1. build vserv-tcpip-0.9.2-src
在vserv-tcpip-0.9.2目录下面建一个tests目录,然后在cmd窗口下进入 ......
94、排序都有哪几种方法?请列举。用JAVA实现一个快速排序。
排序的方法有:插入排序(直接插入排序、希尔排序),交换排序(冒泡排序、快速排序),选择排序(直接选择排序、堆排序),归并排序,分配排序(箱排序、基数排序)
快速排序的伪代码。
/ /使用快速排序方法对a[ 0 :n- 1 ]排序
从 ......
//Number 11 过滤字符串中的非数字字符
import java.util.regex.*;
import java.util.Scanner;
public class GuoLv{
public static void main(String args[]){
Scanner reader = new Scanner(System.in);
  ......
一、准备工作
先了解一下概念,JACOB 就是 JAVA-COM Bridge的缩写,提供自动化的访问com的功能,也是通过JNI功能访问windows平台下的com组件或者win32系统库的。这是一个开始于 1999年的开源项目的成果,有很多使用者对该项目进行了修改,做出了自己的贡献。
Jacob下载地址:http://sourceforge.net/project/showfiles.ph ......