会员登录 立即注册

搜索

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

[复制链接]
崎山小鹿 发表于 2024-10-9 20:11:09 | 显示全部楼层 |阅读模式
崎山小鹿
2024-10-9 20:11:09 2500 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私信
以墨运商,以商助墨。

查看:2500 | 回复:0

  • 墨山游侠之八卦小镇

    阅读:299|2025-01-23
  • 墨山游侠之给玩家指定区域

    在默认为冒险模式的游戏地图里开辟一块生存区一块创造区。 命令块实现(/tp 命令)

    阅读:399|2025-01-20
  • 墨山游侠之先天八卦

    墨道两家是打断骨头连着筋 先天八卦1 先天八卦2 喜欢先天八卦的朋友可以到里面

    阅读:412|2025-01-19
  • 墨山游侠之领地

    如何在游戏里面设置领地? 领地管理权杖 叶枫的领地权杖 按F11可以切换鼠标,点击

    阅读:433|2025-01-18
  • 墨山游侠之末地传送门

    找到末地传送门了,大家都可以通过田横岛的五百义士墓传送到达

    阅读:367|2025-01-16
  • 墨山游侠之墨子五行记

    《墨子五行记》序 混沌初开,乾坤始奠,道家言 “万物负阴而抱阳,冲气以为和”,追

    阅读:350|2025-01-16
  • 墨山游侠之雪山之巅

    阅读:379|2025-01-15
  • 墨山游侠之远古城市

    我们在地心的深处找到了远古城市,我们在不破坏古城结构的基础上增加了我们的前哨站,

    阅读:432|2025-01-14
  • 墨山游侠之命令方块

    因为守城经常缺箭而城内又没有造箭的条件,决定用命令方块实现无限取箭的功能。 命令

    阅读:589|2025-01-09
  • 墨山游侠之保卫田横岛

    墨山游侠之保卫田横岛 据史书记载,秦末汉初,群雄并起,逐鹿中原,刘邦手下大将韩

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

手机APP

官方微博

官方微信

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