Problem
Given an array of integers nums and a positive integer k, find whether it"s possible to divide this array into k non-empty subsets whose sums are all equal.
Example 1:
Input: nums = [4, 3, 2, 3, 5, 2, 1], k = 4
Output: True
Explanation: It"s possible to divide it into 4 subsets (5), (1, 4), (2,3), (2,3) with equal sums.
Note:
1 <= k <= len(nums) <= 16.
0 < nums[i] < 10000.
class Solution { public boolean canPartitionKSubsets(int[] nums, int k) { int sum = 0; for (int num: nums) sum += num; if (k == 0 || sum%k != 0 || sum < k) return false; int target = sum/k; return dfs(nums, new boolean[nums.length], 0, k, 0, target); } private boolean dfs(int[] nums, boolean[] used, int start, int k, int sum, int target) { if (k == 1) return true; if (sum == target) return dfs(nums, used, 0, k-1, 0, target); for (int i = start; i < nums.length; i++) { if (!used[i]) { used[i] = true; if (dfs(nums, used, i+1, k, sum+nums[i], target)) return true; used[i] = false; } } return false; } }
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉載請注明本文地址:http://systransis.cn/yun/72173.html
摘要:題目要求假設有一個全為正整數(shù)的非空數(shù)組,將其中的數(shù)字分為兩部分,確保兩部分數(shù)字的和相等。而這里的問題等價于,有個物品,每個物品承重為,問如何挑選物品,使得背包的承重搞好為所有物品重量和的一般。 題目要求 Given a non-empty array containing only positive integers, find if the array can be partitio...
摘要:背包問題假設有個寶石,只有一個容量為的背包,且第個寶石所對應的重量和價值為和求裝哪些寶石可以獲得最大的價值收益思路我們將個寶石進行編號,尋找的狀態(tài)和狀態(tài)轉移方程。我們用表示將前個寶石裝到剩余容量為的背包中,那么久很容易得到狀態(tài)轉移方程了。 Partition Equal Subset Sum Given a non-empty array containing only posi...
Problem Given a non-empty array containing only positive integers, find if the array can be partitioned into two subsets such that the sum of elements in both subsets is equal. Note:Each of the array ...
摘要:如果是奇數(shù)的話,那一定是不滿足條件的,可以直接返回。如果是偶數(shù),將除獲得我們要求的一個子數(shù)組元素的和。如何暫存我們計算的中間結果呢聲明一個長度為的布爾值數(shù)組。每個元素的布爾值代表著,數(shù)組中是否存在滿足加和為的元素序列。 題目詳情 Given a non-empty array containing only positive integers, find if the array ca...
Problem Given a binary tree with n nodes, your task is to check if its possible to partition the tree to two trees which have the equal sum of values after removing exactly one edge on the original tr...
閱讀 1799·2023-04-25 15:51
閱讀 2508·2021-10-13 09:40
閱讀 2144·2021-09-23 11:22
閱讀 3251·2019-08-30 14:16
閱讀 2665·2019-08-26 13:35
閱讀 1859·2019-08-26 13:31
閱讀 884·2019-08-26 11:39
閱讀 2742·2019-08-26 10:33