会员登录 立即注册

搜索

从数据集中挑出10个和为435的数

[复制链接]
崎山小鹿 发表于 2024-10-9 20:11:09 | 显示全部楼层 |阅读模式
崎山小鹿
2024-10-9 20:11:09 837 0 看全部
接到一个客户的需求,类似这样的:从数据集中挑出10个和为435的数,要求用JAVA实现,只输出一组结果代码如下:
import java.util.ArrayList;
import java.util.List;

public class Main {
    public static List<Integer> findCombination(int[] nums, int i, int m) {
        List<Integer> result = new ArrayList<>();
        backtrack(nums, i, m, 0, new ArrayList<>(), result);
        return result;
    }

    private static void backtrack(int[] nums, int i, int m, int start, List<Integer> tempList, List<Integer> result) {
        if (tempList.size() == i) {
            if(sum(tempList) == m) result.addAll(tempList);
            return;
        }

        for (int j = start; j < nums.length && result.size()==0; j++) {
            tempList.add(nums[j]);
            backtrack(nums, i, m, j + 1, tempList, result);
            tempList.remove(tempList.size() - 1);
        }
    }

    private static int sum(List<Integer> list) {
        int sum = 0;
        for (int num : list) {
            sum += num;
        }
        return sum;
    }

    public static void main(String[] args) {
        int[] dataset = {26, 83, 13, 79, 51, 61, 8, 89, 69, 52, 46, 57, 21, 54, 55, 97, 82, 2, 8, 21, 10, 82, 50, 97, 81, 40, 59, 24, 61, 36, 76, 43, 40, 92, 49, 30, 61, 27, 93, 89, 34, 35, 1, 40, 70, 42, 25, 1, 99, 53, 1, 90, 70, 84, 79, 40, 80, 14, 67, 25, 70, 44, 59, 71, 89, 81, 29, 22, 1, 82, 38, 80, 59, 41, 86, 61, 88, 32, 82, 33};
        int i = 10;
        int m = 435;
        List<Integer> result = findCombination(dataset, i, m);
        System.out.println(result);
    }
}



输出:
[26, 83, 13, 79, 51, 61, 8, 89, 24, 1]
天不生墨翟,万古如长夜!以墨运商,以商助墨。金双石科技长期招聘科技研发人才!微信:qishanxiaolu   电话:15876572365   公司:深圳市金双石科技有限公司
回复

使用道具 举报

  • 您可能感兴趣
您需要登录后才可以回帖 登录 | 立即注册 |

本版积分规则 返回列表

管理员给TA私信
以墨运商,以商助墨。

查看:837 | 回复:0

  • 去掉视频中的字幕-牛片网字幕抹除

    有时候我们需要去掉视频中的字幕,可以使用牛片网的字幕抹除功能 项目地址:https://w

    阅读:230|2024-11-07
  • 程序员的出图神器ComfyUI

    ComfyUI 是一个强大且模块化的 Stable Diffusion 操作界面,与我们熟知的 WebUI 在底

    阅读:286|2024-11-05
  • 平面2D数字人王者DH_live

    每个人都能用的数字人 一、项目地址:https://github.com/kleinlee/DH_live 目前我们

    阅读:389|2024-11-05
  • 向日葵智能阳光导入系统

    向日葵智能阳光导入系统,方便部署在野外、山坡,沼泽给光线不足的地区带去阳光,有了

    阅读:298|2024-11-05
  • 大饼AI变声

    你想男声变女声吗?你想女声变男声吗?实现声音自由可以使用大饼AI变声。 官网地址:h

    阅读:258|2024-11-04
  • 变声软件VTUBESOUND

    软件地址:https://www.vtubesound.com/ 主要功能: 软件目前支持Windows所有版本

    阅读:286|2024-11-04
  • 诚聘版主

    有人在论坛发了十几篇广告,幸好及时发现并全部删除, 诚聘版主,欢迎喜欢这个网站

    阅读:346|2024-11-02
  • 可视化神经网络训练tensorflow.org

    通过图像和动画的形式,解释深度学习是如何一步步简化复杂的事物的。 能够设置数据

    阅读:486|2024-11-01
  • 微模型开发迫在眉睫

    高性能低功耗的神经网络微模型开发迫在眉睫,一些前沿的大模型训练,每一年对算力需求

    阅读:521|2024-11-01
  • 一键AI换衣-可图AI试衣

    我们的真的实现了穿衣自由了吗?上传一张人物图片和衣服的图片,就能实现一键换衣。

    阅读:615|2024-10-30
金双石科技,软件开发20年,技术行业领先,您的满意,就是我们的目标,认真负责,开拓进取,让成品物超所值
关于我们
公司简介
发展历程
联系我们
本站站务
友情链接
新手指南
内容审核
商家合作
广告合作
商家入驻
新闻合作

手机APP

官方微博

官方微信

联系电话:15876572365 地址:深圳市宝安区西乡街道宝民二路宝民花园 ( 粤ICP备2021100124号-1 ) 邮箱:qishanxiaolu@qq.com
QQ|Powered by Discuz! X3.5 © 2001-2024 Discuz! Team.
快速回复 返回顶部 返回列表