给出一个整数,判断集合中是否存在子集之和等于该整数?
2016-09-08 18:39
501 查看
/*方便运行省略包名*/ public class ChildCollection { public static void main(String[] args) { int[] parentCollection = new int[]{5, 7, 1, 4, 3, 2}; int initSum = 13; int tempSum, tempValue; for(int i = 0; i < Math.pow(2, parentCollection.length); i++) { tempValue = i; tempSum = 0; for(int j = 0; j < parentCollection.length; j++) { if(tempValue%2 == 1) tempSum += parentCollection[j]; tempValue /= 2; } if(tempSum == initSum) { tempValue = i; for(int j = 0; j < parentCollection.length; j++) { if(tempValue%2 == 1) System.out.print(" " + parentCollection[j]); tempValue /= 2; } System.out.println("\n"); } } } }
相关文章推荐
- 题目1.请给出一个运行时间为O(nlgn)的算法,使之能在给定一个由n个整数构成的集合S和另一个证书x时,判断出S中是否存在有两个其和等于x的元素。
- 题目:请给出一个运行时间为Θ(nlgn)的算法,使之能在给定一个由n个整数构成的集合S和另一个整数x时,判断出S中是否存在有两个其和等于x的元素。
- 给定一个集合和一个正整数c,判定是否存在该集合的子集,使其所有元素的和等于给定的正整数c?
- 描述一个运行时间为O(nlgn)的算法,使之能在给定一个由n个整数构成的集合S和另一个整数 X 时,判断出S中是否存在有两个其和刚好等于 X 的元素。
- 给出一个实数集合和一个实数,怎样判断集合中是否存在两个和等于该实数的元素
- 对于一个整数矩阵,存在一种运算,对矩阵中任意元素加一时,需要其相邻(上下左右)某一个元素也加一,现给出一正数矩阵,判断其是否能够由一个全零矩阵经过上述运算得到
- 对于一个m*n的整数矩阵,其中每一行和每一列的元素都按升序排列,设计一个高效的算法判断一个数值是否存在,并给出位置
- 对于一个整数矩阵,存在一种运算,对矩阵中任意元素加一时,需要其相邻(上下左右)某一个元素也加一, 现给出一正数矩阵,判断其是否能够由一个全零矩阵经过上述运算得到。
- 对于一个整数矩阵,存在一种运算,对矩阵中任意元素加一时,需要其相邻(上下左右)某一个元素也加一, 现给出一正数矩阵,判断其是否能够由一个全零矩阵经过上述运算得到。
- 对于一个整数矩阵,存在一种运算,对矩阵中任意元素加一时,需要其相邻(上下左右),某一个元素也加一,现给出一正数矩阵,判断其是否能够由一个全零矩阵经过上述运算得到。
- 对于一个整数矩阵,存在一种运算,对矩阵中任意元素加一时,需要其相邻(上下左右)某一个元素也加一, 现给出一正数矩阵,判断其是否能够由一个全零矩阵经过上述运算得到。
- 【算法导论学习-005】整数集合S中是否存在两个数等于给定的一个整数
- 对于一个整数矩阵,存在一种运算,对矩阵中任意元素加一时,需要其相邻(上下左右),某一个元素也加一,现给出一正数矩阵,判断其是否能够由一个全零矩阵经过上述运算得到。
- 对于一个整数矩阵,存在一种运算,对矩阵中任意元素加一时,需要其相邻(上下左右)某一个元素也加一, 现给出一正数矩阵,判断其是否能够由一个全零矩阵经过上述运算得到。
- [C++学习笔记] 链表应用1判断一个集和是否为另一个集合的子集
- 不要用数组循环判断等于的方式,来判断一个对象是否在一个集合内
- 给出一个有效的算法来确定在整数A1<A2<A3<...<AN的数组中是否存在整数i使得Ai=i
- 判断集合中是否有两个数的和等于某个给定整数
- 在一个二维数组中判断给定整数是否存在,要求在O(n)内实现
- 【c语言】 给出一个大于或等于3的正整数,判断它是不是一个素数