农场里有一群奶牛,每头奶牛都有自己的体重。农场主想把奶牛分成两组,使得两组奶牛的体重和相等。你能帮他完成这个任务吗?
区块链毕设网qklbishe.com为您提供问题的解答
农场里有一群奶牛,每头奶牛都有自己的体重。农场主想把奶牛分成两组,使得两组奶牛的体重和相等。你能帮他完成这个任务吗?
import java.util.*; public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param weights int整型一维数组 * @return bool布尔型 */ public boolean canPartition (int[] weights) { // write code here int sum = Arrays.stream(weights).sum(); if (sum % 2 != 0) { return false; } int halfSum = sum/2; int[] nums = Arrays.stream(weights).filter(a -> a <= halfSum).toArray(); int[] dp = new int[halfSum+1]; for (int i = 0; i < nums.length; i++) { for (int j = halfSum; j >= nums[i]; j--) { dp[j] = Math.max(dp[j], dp[j-nums[i]] + nums[i]); if (dp[j] == halfSum) { return true; } } } return false; } }
36:32
以上就是关于问题农场里有一群奶牛,每头奶牛都有自己的体重。农场主想把奶牛分成两组,使得两组奶牛的体重和相等。你能帮他完成这个任务吗?的答案
欢迎关注区块链毕设网-
专业区块链毕业设计成品源码,定制。
区块链NFT链游项目方科学家脚本开发培训