LWC 54:698. Partition to K Equal Sum Subsets
来源:互联网 发布:中国移动数据流量卡 编辑:程序博客网 时间:2024/06/06 15:41
LWC 54:698. Partition to K Equal Sum Subsets
传送门:698. Partition to K Equal Sum Subsets
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.
思路:
观察 k 和 n 发现均很小,所以实际上是暴力dfs算法,先预处理,如果sum / k 有余数,则不能分割。接着nums中的每个元素对应k个状态,所有有
代码如下:
public boolean canPartitionKSubsets(int[] nums, int k) { int sum = 0; int max = 0; int n = nums.length; for (int i = 0; i < n; ++i) { sum += nums[i]; max = Math.max(max, nums[i]); } if (sum % k != 0) return false; tar = sum / k; if (max > tar) return false; Arrays.sort(nums); return go(nums, n - 1, k, new int[k]); } int tar = 0; boolean go(int[] nums, int pos, int k, int[] sums) { if (pos == -1) { boolean check = true; for (int i = 0; i < k; ++i) { if (sums[i] != tar) check = false; } return check; } for (int i = 0; i < k; ++i) { sums[i] += nums[pos]; if (sums[i] <= tar && go(nums, pos - 1, k, sums)) { return true; } sums[i] -= nums[pos]; } return false; }
阅读全文
0 0
- LWC 54:698. Partition to K Equal Sum Subsets
- 698. Partition to K Equal Sum Subsets
- 698. Partition to K Equal Sum Subsets
- 698. Partition to K Equal Sum Subsets
- 698. Partition to K Equal Sum Subsets
- 698. Partition to K Equal Sum Subsets
- 698. Partition to K Equal Sum Subsets
- 698. Partition to K Equal Sum Subsets
- Leetcode | Partition to K Equal Sum Subsets
- [LeetCode] Partition to K Equal Sum Subsets
- Partition to K Equal Sum Subsets
- 698. Partition to K Equal Sum Subsets(M)
- leetcode 698. Partition to K Equal Sum Subsets
- Leetcode: 698. Partition to K Equal Sum Subsets
- leetcode-698. Partition to K Equal Sum Subsets
- leetcode 698. Partition to K Equal Sum Subsets
- 【第十三周】698. Partition to K Equal Sum Subsets
- subsets/subsets II/Partition Equal Subset Sum/Partition to K Equal Sum Subsets
- android okHttp3 post上传图片给服务器
- 接口和抽象类
- 直接选择排序
- angular排序和删除
- 详解Java的跨平台性
- LWC 54:698. Partition to K Equal Sum Subsets
- 【Android View事件(二)】详解事件分发机制
- 求助用.net写一个截取图片并保存功能,最好能把做好的项目发给我 如果可以功能任务完成愿意50元支付宝报酬
- HDOJ2058
- Qt 之 模态、非模态、半模态窗口的介绍及 实现QDialog的exec()方法
- Popular Cows POJ
- 数据结构实验之链表二:逆序建立链表(STL)
- KMP算法之next数组详解 (转载)
- STM32+74HC595:带领你10分钟用对74HC595