news 2026/5/1 10:34:18

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/5/1 4:07:53

NVIDIA多卡并行训练配置指南:PyTorch分布式入门教程

NVIDIA多卡并行训练配置指南&#xff1a;PyTorch分布式入门教程 在深度学习模型日益庞大的今天&#xff0c;一个动辄上百亿参数的Transformer网络已经不再罕见。面对这样的计算需求&#xff0c;单张GPU往往连前向传播都难以完成&#xff0c;更别提反向传播和优化更新了。这时候…

作者头像 李华
网站建设 2026/5/1 6:56:44

GitHub项目README编写规范:吸引贡献者的PyTorch案例

GitHub项目README编写规范&#xff1a;吸引贡献者的PyTorch案例 在深度学习项目的开发与协作中&#xff0c;一个常见的困境是&#xff1a;“代码很优秀&#xff0c;但没人愿意用。” 更糟糕的是&#xff0c;即便有人尝试使用&#xff0c;也会因为环境配置失败、文档晦涩难懂而中…

作者头像 李华
网站建设 2026/5/1 7:57:33

互联网大厂Java面试揭秘:从Java基础到云原生

场景描述 在一家知名的互联网大厂的面试办公室&#xff0c;面试官严肃地坐在桌子后面&#xff0c;准备对面前的应聘者“超好吃”进行技术考核。超好吃是一名刚刚踏入职场的Java小白&#xff0c;满怀期待地等待着面试官的提问。 第一轮提问&#xff1a;Java核心与构建工具面试官…

作者头像 李华
网站建设 2026/5/1 5:48:48

百度开源上传组件的大文件上传性能优化实践

武汉光谷XX软件公司大文件传输组件选型与自研方案 一、项目背景与需求分析 作为武汉光谷地区专注于软件研发的高新技术企业&#xff0c;我司长期服务于政府和企业客户&#xff0c;在政务信息化、企业数字化转型等领域积累了丰富的经验。当前&#xff0c;我司核心产品面临大文…

作者头像 李华
网站建设 2026/5/1 9:33:13

PyTorch-CUDA-v2.7镜像在虚拟偶像驱动中的应用

PyTorch-CUDA-v2.7镜像在虚拟偶像驱动中的应用 在直播打赏突破亿元大关的今天&#xff0c;一个没有真人出镜的“歌手”却能举办万人在线演唱会——这不是科幻&#xff0c;而是虚拟偶像时代的现实。从初音未来到A-SOUL&#xff0c;这些由代码与神经网络驱动的数字人&#xff0c;…

作者头像 李华