Partition to K Equal Sum Subsets Leetcode #698 题解[Python]

这是一篇关于LeetCode第698题《Partition to K Equal Sum Subsets》的解题报告。题目要求使用Python编程语言判断给定数组是否能被分割成k个和相等的非空子集。文章讨论了题目的来源、描述、解题思路,并提供了详细的实现代码。关键在于检查数组元素总和能否被k整除,然后使用递归深搜策略进行分割。
摘要由CSDN通过智能技术生成

题目来源


https://leetcode.com/problems/partition-to-k-equal-sum-subsets/description/

题目描述


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.

Leetcode一贯的题风: 情景简单题目坑. 这题的题意依旧简洁: 给出一个数组和一个数字k, 若能够把数组分成k个子数组使得各个子数组之和相等, 则返回True, 否则返回False.

解题思路


首先有一点是很显然的;: 如果数组元素之和不能被k整除, 那么必定无解.
剩下的问题其实也就是一个比较简单的递归深搜.
设数组之和为total, 那么每个子数组之和就必须要等于tot

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值