news 2026/6/10 14:30:00

leetcode 困难题 805. Split Array With Same Average 数组的均值分割

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
leetcode 困难题 805. Split Array With Same Average 数组的均值分割

Problem: 805. Split Array With Same Average 数组的均值分割

解题过程

深度优先搜索,回溯,只需要考虑一个数组即可,若avg = 1.5, 数组长度11 则 11x1.4 = 3 x 1.5 + 8 * 1.5,所以只需要考虑一个数组,拿到平均值,然后avg * i,若是整数则证明可行的,拿到最大的i索引,然后dfs,若已经找到或者个数>mx(最大的索引i)返回,若哈希表中有这个项则返回,同一步需要去重的,否则会超时,也就是递归的同一层不能是同一个数字,也就是pre!=nums[i]

Code

class Solution { public: unordered_map<int, double> ump; bool flag = false; int mx; bool status[10002]; void dfs(vector<int>& nums, int index, int steps, double sum) { if(flag == true || steps > mx) return; if(steps < nums.size() && ump.find(steps)!=ump.end() && ump[steps]-sum ==0.0) { flag = true; return; } int pre = -1; for(int i = index; i < nums.size(); i++) { if(nums[i] == pre) continue; dfs(nums, i + 1, steps + 1, sum + nums[i]); pre = nums[i]; } } bool splitArraySameAverage(vector<int>& nums) { int sum = 0; sort(nums.begin(), nums.end()); for(int& i : nums) sum += i; memset(status, 0, sizeof(status)); double avg = sum / (double) nums.size(), tmp; for(int i = 1; i <= nums.size() - 1; i++) { tmp = avg * (double)i; if(tmp - (int)tmp < 1e-10) { mx = i; ump[i] = (double)(int)tmp; } } if(ump.size() == 0) return false; dfs(nums, 0, 0, 0.0); return flag; } };
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/6 18:45:55

基于python的幼儿园学生管理系统vue

目录已开发项目效果实现截图关于博主开发技术路线相关技术介绍核心代码参考示例结论源码lw获取/同行可拿货,招校园代理 &#xff1a;文章底部获取博主联系方式&#xff01;已开发项目效果实现截图 同行可拿货,招校园代理 ,本人源头供货商 基于python的幼儿园学生管理系统vue …

作者头像 李华
网站建设 2026/6/8 8:27:23

基于python的考研资料预订交流平台的设计与实现

目录已开发项目效果实现截图关于博主开发技术路线相关技术介绍核心代码参考示例结论源码lw获取/同行可拿货,招校园代理 &#xff1a;文章底部获取博主联系方式&#xff01;已开发项目效果实现截图 同行可拿货,招校园代理 ,本人源头供货商 基于python的考研资料预订交流平台的…

作者头像 李华
网站建设 2026/6/9 23:23:59

基于python的微科优选校园招聘平台

目录已开发项目效果实现截图关于博主开发技术路线相关技术介绍核心代码参考示例结论源码lw获取/同行可拿货,招校园代理 &#xff1a;文章底部获取博主联系方式&#xff01;已开发项目效果实现截图 同行可拿货,招校园代理 ,本人源头供货商 基于python的微科优选校园招聘平台 …

作者头像 李华
网站建设 2026/6/8 0:13:11

PyTorch-CUDA-v2.7镜像在远程医疗诊断中的潜力

PyTorch-CUDA-v2.7镜像在远程医疗诊断中的潜力 在偏远山区的卫生院里&#xff0c;一名医生正通过5G网络上传一张肺部CT影像。不到30秒后&#xff0c;系统返回了AI辅助分析结果——高亮标记出疑似结节区域&#xff0c;并生成结构化报告。这一场景背后&#xff0c;是一个高度协同…

作者头像 李华
网站建设 2026/6/9 16:30:30

CNN图像分类实战:基于PyTorch-CUDA-v2.7镜像快速上手

CNN图像分类实战&#xff1a;基于PyTorch-CUDA-v2.7镜像快速上手 在深度学习项目中&#xff0c;最让人头疼的往往不是模型设计本身&#xff0c;而是“为什么我的代码跑不起来&#xff1f;”——环境配置问题几乎成了每个AI工程师的共同噩梦。明明本地调试通过的代码&#xff0c…

作者头像 李华
网站建设 2026/6/7 15:28:20

网页大文件上传插件的教程与经验总结分享

大文件上传系统开发吐槽日记 甲方爸爸的需求清单 作为一个浙江苦逼的.NET程序员&#xff0c;最近接了个外包项目&#xff0c;甲方爸爸的需求让我差点当场表演"程序员暴毙"&#xff1a; 文件传输&#xff1a;要传20G的文件&#xff0c;还得是文件夹&#xff08;可能…

作者头像 李华