当前位置:首页 » 《随便一记》 » 正文

入门力扣自学笔记155 C++ (题目编号698)

5 人参与  2022年09月23日 18:55  分类 : 《随便一记》  评论

点击全文阅读


698. 划分为k个相等的子集

题目:

给定一个整数数组  nums 和一个正整数 k,找出是否有可能把这个数组分成 k 个非空子集,其总和都相等。


示例 1:

输入: nums = [4, 3, 2, 3, 5, 2, 1], k = 4
输出: True
说明: 有可能将其分成 4 个子集(5),(1,4),(2,3),(2,3)等于总和。


示例 2:

输入: nums = [1,2,3,4], k = 3
输出: false


提示:

1 <= k <= len(nums) <= 16
0 < nums[i] < 10000
每个元素的频率在 [1,4] 范围内


来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/partition-to-k-equal-sum-subsets
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。


思路:

先算出每个分组的和,然后分配k个桶,每个桶的初始值为分组和,然后对排序后的数组从大到小进行dfs判断是否可以加入某个桶,搜索完毕即全部分配。


代码:

class Solution {public:    bool canPartitionKSubsets(vector<int>& nums, int k) {        if(k == 1)            return true;        int total = 0;        for(int & num : nums)             total += num;        if(total % k != 0)            return false;        total /= k;        sort(nums.begin(), nums.end());        vector<int> buckets(k, total);        return dfs(k, nums, buckets, nums.size() - 1);    }    bool dfs(int k, vector<int>& nums, vector<int>& buckets, int idx) {        if(idx < 0)            return true;        for(int i = 0; i < k; i++) {            if(i > 0 && buckets[i] == buckets[i - 1])                continue;            if(buckets[i] >= nums[idx]) {                buckets[i] -= nums[idx];                if(dfs(k, nums, buckets, idx - 1))                    return true;                buckets[i] += nums[idx];            }        }        return false;    }};


点击全文阅读


本文链接:http://zhangshiyu.com/post/45067.html

<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

最新文章

  • [糙汉嘴软心硬,娇妻日日晚起]小说精彩节选免费试读_「黎夏顾卫城」主线最终章倒计时
  • 我的亲妹妹我当做畜生,只有儿子来救我反转剧情试读片段_[***小宝李小翠]精彩章节免费试读
  • 往梦难复温,沈淮霆宋思予在线_往梦难复温,沈淮霆宋思予在线
  • 爱意清浅随风离(简凝夕陆靳燃),爱意清浅随风离
  • 「冲喜而已,侯爷别太爱」小说免费在线阅读_侯府侯爷乐瑶主线最终章倒计时
  • 好看的往梦难复温沈淮霆宋思予_往梦难复温沈淮霆宋思予
  • 天才京剧花旦被废嗓后成为芭蕾舞王+后续+结局(秦意宋笙)全书秦意宋笙结局_秦意宋笙+结局列表_笔趣阁(天才京剧花旦被废嗓后成为芭蕾舞王+后续+结局)
  • (番外)+(全书)往梦难复温(沈淮霆宋思予+番外+全书)_(往梦难复温+番外+全书)免费_笔趣阁(沈淮霆宋思予)
  • 江晚烟陆聿我终于失去了你结局+番外(江晚烟陆聿)列表_江晚烟陆聿我终于失去了你结局+番外(江晚烟陆聿)结局篇+番外在线
  • 池雾陆砚寒结局+番外(陆砚寒池雾)列表_池雾陆砚寒结局+番外(陆砚寒池雾)池雾陆砚寒结局+番外在线
  • 沈静怡傅励行+后续+结局(傅励行沈静怡)列表_沈静怡傅励行+后续+结局(傅励行沈静怡)沈静怡傅励行+后续+结局在线
  • 非典时,我被妻子的白月光误诊遗弃在病房节选角色羁绊特辑‌_田越苏雅白月光角色专属支线试读入口

    关于我们 | 我要投稿 | 免责申明

    Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1