文章列表
给定一个源区间[x,y](y>=x)和N个无序的目标区间[x1,y1][x2,y2]......[xn,yn],判断区间[x,y]在不在目标区间内。
/**
*区间覆盖问题
*输入:n个区间,有可能重合,还有一个区间,判断这个区间是不是与这n个区间完全重合
*输出:true or false
*步骤:先将n个区间按start进行排序O(nlogn),然后根据这些区间的start和end将这些区间合并成为 *互相不相交的区间O(n),然后判断给定区间是否与这些不相交的区间完全重叠
*/
import java.util.*;
class Interval{
...
数组分割问题解法上总体来说就是用动态规划的方法求出2n个数中,取出n个数相加所能得到的所有的值,然后从中找到最接近sum/2的那个值。解法一中,每一步都需要更新每一个Heap中的每一个元素,而Heap中的元素个数随着K的增大而增大;解法二不再遍历Heap中的元素,而是遍历1---sum/2之间的值。解法二用了一个二维数组isOK来保存结果,isOK[i][j]表示能否找到i个数,使得他们的和等于j。下面是用解法二实现的源代码,如果要获得数组分割的具体分法,仍然可以用建立对象来保存索引的方法。
/*This is program will the sum of n elements whi ...
题目:有一个无序、元素个数为2n的正整数数组,要求:如何能把这个数组分割为元素个数为n的两个数组,并使两个子数组之和最接近?
看了编程之美的算法,一直在想算法只求出了最接近的那个和值,没有求出分割的具体分法,后来想想,这个具体的分割的索引值,可以在求和值的时候一起保存下来。代码有点乱,凑活看吧。
import java.util.*;
class Node{
int value;
List index = new ArrayList();
}
public class Main{
public static void main(String[] args){
i ...
1.
首先新建一个
Dynamic
Web Project.
配置容器为
Apache Tomcat
v5.5
Project
建成后,文件结构如下图,这与以前的文件结构还是有些差距的,不过大同小异
在
Java Resources:src
下先建一个
...