学习笔记-- Java 数组求和等于指定值

描述:

数组中元素之和为特定数的组合。

代码:

/**
 * 数组中元素之和为特定数的组合
 *
 * [1,2,3,4,5] => 7
 *
 * [[2, 5], [3, 4], [1, 2, 4]]
 *
 */
public class Test3 {
    private static int[] flag;

    public static void main(String[] args) {
        int number = 5;
        int[] inputs = new int[number];
        IntStream.range(0,number).forEach(i-> inputs[i] = i + 1);
        flag = new int[inputs.length];
        int sum = 7;
        List<List<Integer>> result = Lists.newArrayList();
        calculateSum(inputs,sum,inputs.length - 1, result);
        System.out.println(result);
    }

    private static void calculateSum(int[] inputs, int sum, int inputsLength, 
        List<List<Integer>> result) {

        int index;
        if (sum == 0) {
            List<Integer> r = Lists.newArrayList();
            for (index = 0; index < flag.length; index++) {
                if (flag[index] > 0) {
                    r.add(inputs[index]);
                }
            }
            result.add(r);
        }

        for (index = inputsLength; index >= 0; index--) {
            if (flag[index] == 0 && (sum - inputs[index]) >= 0) {
                flag[index] = 1;
                calculateSum(inputs, sum - inputs[index], index-1, result);
                flag[index] = 0;
            }
        }
    }

}

运行结果:

 

  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我会为你介绍Python中的数组。 在Python中,数组是一种存储元素的数据结构。与列表不同,数组是固定大小的,且元素类型必须相同。 要使用数组,需要先导入array模块。下面是一个创建数组的示例: ```python import array as arr # 创建一个整数类型的数组 a = arr.array('i', [1, 2, 3, 4, 5]) # 打印数组 print(a) ``` 在上面的示例中,我们使用了`array`模块创建了一个整数类型的数组,并初始化了它。要注意的是,第一个参数是一个字符,用于指定数组元素的类型。在本例中,我们使用了`i`,表示整数类型。 除了整数类型之外,还有其他类型可以使用,如`f`表示浮点数,`d`表示双精度浮点数,`b`表示布尔类型等。 在数组中,可以使用索引来访问元素,如下所示: ```python import array as arr # 创建一个整数类型的数组 a = arr.array('i', [1, 2, 3, 4, 5]) # 访问数组中的第一个元素 print(a[0]) # 修改数组中的第二个元素 a[1] = 6 # 打印数组 print(a) ``` 在上面的示例中,我们使用了索引`0`来访问数组中的第一个元素,使用索引`1`来修改数组中的第二个元素。 除了使用索引来访问和修改元素外,还可以使用循环来遍历数组中的所有元素,如下所示: ```python import array as arr # 创建一个整数类型的数组 a = arr.array('i', [1, 2, 3, 4, 5]) # 遍历数组中的所有元素 for i in a: print(i) ``` 在上面的示例中,我们使用了`for`循环来遍历数组中的所有元素,并打印每个元素的。 这就是Python中数组的基本用法。希望对你有所帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值