news 2026/4/12 20:00:21

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/4/7 14:35:24

基于python的贫困地区儿童救助系统_8s0gs

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

作者头像 李华
网站建设 2026/4/10 10:14:19

使用Conda创建独立PyTorch环境:避免依赖冲突的最佳实践

使用Conda创建独立PyTorch环境&#xff1a;避免依赖冲突的最佳实践 在深度学习项目日益增多的今天&#xff0c;你是否也遇到过这样的问题&#xff1a;刚跑通一个基于 PyTorch 1.12 的图像分类模型&#xff0c;结果另一个 NLP 项目要求升级到 PyTorch 2.7&#xff0c;一升级&am…

作者头像 李华
网站建设 2026/4/12 5:27:01

PyTorch-CUDA-v2.7镜像在室内导航系统中的角色

PyTorch-CUDA-v2.7镜像在室内导航系统中的角色 如今&#xff0c;智能机器人穿梭于医院走廊、商场中庭或仓储车间的场景已不再罕见。这些设备之所以能“看得清”“走得稳”&#xff0c;离不开背后强大的环境感知能力——而这种能力的核心&#xff0c;正是运行在高效计算平台上的…

作者头像 李华
网站建设 2026/4/7 9:08:52

Web安全之SQL注入-CSRF-XSS

聚焦三大高危漏洞&#xff1a;SQL 注入、CSRF、XSS1. SQL 注入&#xff08;SQL Injection&#xff09; 攻击原理 攻击者通过在用户输入中嵌入恶意 SQL 片段&#xff0c;绕过应用逻辑&#xff0c;直接操作数据库。 示例&#xff08;危险代码&#xff09;&#xff1a; # 危险&…

作者头像 李华
网站建设 2026/4/10 8:32:47

PyTorch-CUDA镜像能否用于电梯智能调度

PyTorch-CUDA镜像能否用于电梯智能调度 在现代高层建筑中&#xff0c;电梯不再只是简单的垂直运输工具——它正逐渐演变为一个需要实时决策、动态响应的复杂系统。每天早晚高峰时&#xff0c;人们挤在大厅等待电梯&#xff0c;而控制系统却仍在用几十年前的“就近响应”逻辑派梯…

作者头像 李华
网站建设 2026/4/10 16:00:03

从GitHub克隆项目后如何激活PyTorch虚拟环境?

从GitHub克隆项目后如何激活PyTorch虚拟环境&#xff1f; 在深度学习项目开发中&#xff0c;你是否曾遇到这样的场景&#xff1a;刚从 GitHub 克隆了一个热门的 PyTorch 项目&#xff0c;满怀期待地运行 python train.py&#xff0c;结果却抛出一连串错误——“No module named…

作者头像 李华