当前位置: 首页 > news >正文

个人网站制作说明优化推广网站淄博

个人网站制作说明,优化推广网站淄博,深圳市工程建设交易中心服务主页,动态网站制作文案题意 给一个数组,要求把数组里的元素分成k个子集,满足每个子集中数的总和是相等的。问是否能分成k个子集 题目链接 https://leetcode.com/problems/partition-to-k-equal-sum-subsets/description/ 思考 想象你有k个桶,然后你有n个小球&…

题意

给一个数组,要求把数组里的元素分成k个子集,满足每个子集中数的总和是相等的。问是否能分成k个子集

题目链接

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

思考

想象你有k个桶,然后你有n个小球,你要做的是把这n个小球放进k个桶里,问能不能放成
最暴力的办法就是遍历所有的球,看看第一个桶能不能放,第二个桶能不能放。。。以此类推

题解

这k个子集每个子集的元素和假设为a。用dfs遍历,从第一个数字开始判断他应该放在哪个子集中。当当前子集的值小于等于需要的值的时候我们可以放,并且回溯。当最后一个数字被放入并且每个桶的元素和都能够满足为a时,那么就说明能够分成k份。
剪枝:1. 可以从大到小排序,这样可以先放大的数字,子集会更早达到元素和a
2. 当有两个子集的元素和相同时,我们只需要遍历一个子集就好
3. 当有子集的元素和已经满足为a,可以跳过

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

时间复杂度: O ( k n ) O(k^n) O(kn)指数级

空间复杂度: O ( k ) O(k) O(k)

http://www.dinnco.com/news/52603.html

相关文章:

  • 推广普通话标语什么是seo站内优化
  • 专业网站建设服务公司哪家好引流人脉推广软件
  • 温州外贸网站制作百度百家官网入口
  • 长沙人才市场招聘网站关键词优化软件效果
  • 黄浦区seo网站建设希爱力双效片用后感受
  • 昆明网站建设排名十大最免费软件排行榜
  • 可以做直播的游戏视频网站seo优化排名营销
  • 如何做视频教程网站网络推广专员岗位职责
  • 云服务器可以放几个网站企业查询软件
  • 帮做网站的公司西安外包公司排行
  • 抚州建设网站的公司百度商家
  • 广州开发区人才工作集团有限公司seo模拟点击
  • 创建一个网站需要怎么做seo查询工具网站
  • 浦东新区做网站公司电商运营推广的方式和渠道有哪些
  • 沂水网站优化推广友情链接交换软件
  • 优秀网站设计欣赏图片网络软文名词解释
  • 网站建设新手2024年最新一轮阳性症状
  • 电商网站开发模板郑州seo方案
  • html5企业网站案例站长平台网站
  • 做网站编辑工作好不好常见的网络推广方法有哪些
  • 郎溪做网站什么关键词能搜到资源
  • 网站服务公司特点站长之家ip地址归属查询
  • 做教育的网站有哪些内容吗百度网盘搜索免费资源
  • 网站建设数据中心佛山seo培训机构
  • java软件开发有前途吗班级优化大师免费下载安装
  • 家庭宽带怎么做网站铜仁搜狗推广
  • 营销型网站架构师网站seo排名优化价格
  • 网站建设项目收获百度引流推广费用多少
  • 淄博网站设计方案百度流量推广项目
  • 各家建站平台seo在线优化排名