题目链接:805. 数组的均值分割  (借用思路来自leetode大佬heren1229 - 力扣(LeetCode))

题目要求将nums分为两个数组A和B,且A和B的平均数相等,那么就可以得出A和B的平均数与nums的数组相等,可以将所有数-平均数,得出一个数组,且数组的和为0。为了避免浮点数,可以将所有数*nums.length()。将数组一分为二,分别计算两个数组形成的和,查看是否有相反数。若有相反数,则说明当前两个数组的数加起来可以为0,则

class Solution {//默认为falseboolean ans=false;Map<Integer,Integer> map=new HashMap<>();public boolean splitArraySameAverage(int[] nums) {int sum=0;//计算所有值的总和for (int num : nums) {sum += num;}for (int i = 0; i < nums.length; i++) {nums[i]=nums[i]*nums.length-sum;}System.out.println(Arrays.toString(nums));//二分法进行操作dfs(nums,0,nums.length/2+1,0,0);dfs(nums,nums.length/2+1,nums.length,0,0);return ans;}void dfs(int[] nums,int left,int right,int sum,int cnt){//前一半用于插表if (left<=nums.length/2){map.put(sum,cnt);}//后一半用于查表    if (left>nums.length/2&&map.containsKey(-sum)&&map.get(-sum)+cnt!=0&&map.get(-sum)+cnt!=nums.length){ans=true;}if (ans){}else if (left<right){ //背包问题,选与不选dfs(nums,left+1,right,sum+nums[left],cnt+1);dfs(nums,left+1,right,sum,cnt);}}
}

这道题我一开始也是无从下手的,看到大佬heren1229 - 力扣(LeetCode)的代码思路才明白可以这样子做。

LeetCode 805数组切割题目相关推荐

  1. 二维数组删除_「leetcode」数组:总结篇!(一文搞懂数组题目)

    数组理论基础 数组是非常基础的数据结构,在面试中,考察数组的题目一般在思维上都不难,主要是考察对代码的掌控能力 也就是说,想法很简单,但实现起来 可能就不是那么回事了. 首先要知道数组在内存中的存储方 ...

  2. angularjs 元素重复指定次数_[LeetCode] 442. 数组中重复的数据

    [LeetCode] 442. 数组中重复的数据 题目链接: https://leetcode-cn.com/problems/find-all-duplicates-in-an-array 难度:中 ...

  3. LeetCode:数组(排列组合,二分查找I,二分查找II)

    1,排列组合 38,剑指Offer:字符串的排列 题目:输入一个字符串,打印出该字符串中字符的所有排列.你可以以任意顺序返回这个字符串数组,但里面不能有重复元素. class Solution {Li ...

  4. 数组(二):大厂面试不得不看的高频数组类型题目

    数组篇(二) LeetCode905:按奇偶排序数组 解题思路 代码实现 LeetCode11:盛水最多的容器 解题思路 代码实现 LeetCode66:加一 解题思路 代码实现 LeetCode12 ...

  5. 弟中弟的Leetcode总结——数组类(十一)

    弟中弟的Leetcode总结--数组类(十一) 题目描述 Single Number Given a non-empty array of integers, every element appear ...

  6. 弟中弟的Leetcode总结——数组类(十)

    弟中弟的Leetcode总结--数组类(十) 题目描述 Climbing Stairs You are climbing a stair case. It takes n steps to reach ...

  7. 弟中弟的Leetcode总结——数组类(五)

    弟中弟的Leetcode总结--数组类(五) 题目描述 Remove Duplicates from Sorted Array Given a sorted array nums, remove th ...

  8. 弟中弟的Leetcode总结——数组类(二)

    弟中弟的Leetcode总结--数组类(二) 题目描述 Container With Most Water Given n non-negative integers a1, a2, -, an , ...

  9. 弟中弟的Leetcode总结——数组类(四)

    弟中弟的Leetcode总结--数组类(四) 题目描述 Two Sum Given an array of integers, return indices of the two numbers su ...

最新文章

  1. 无人机、IoT 设备都有漏洞?专访以色列老牌安全企业Check Point | 拟合
  2. STL之七:STL各种容器的使用时机详解
  3. 细说Nginx配置文件
  4. [Java基础]IO流小结
  5. 【01】 课程介绍 - 计算机视觉概述
  6. 幂指函数怎么求极限_函数的极限I
  7. 3星难度-算式填符号
  8. 操作日志和系统日志分类记录
  9. 2. vi 简介(2)
  10. excel函数修改服务器端数据,勤哲Excel服务器表达式函数详解
  11. 【Git】规范化 Git 提交信息 Commitizen
  12. 一个很不错的C++类的练习题目
  13. vue中Route和router、routes的关系
  14. 基于Matlab模拟AWGN 信道上 OFDM附完整代码
  15. Windows光标选中字符切换到输入字符快捷键
  16. 下载国外软件慢(例如:Python安装包)
  17. c语言静态变量与局部变量,C语言 全局变量、静态全局变量、局部变量、静态局部变量...
  18. 产品经理02_竞品分析
  19. 〖Python 数据库开发实战 - MySQL篇㉙〗- MySQL 字符函数
  20. python读取文件数据恢复软件_python深度学习pdf恢复

热门文章

  1. 1023day5:class类属性方法、每次执行类属性+1、内建模块、时间装饰器wrapper、面向对象__slots__方法:限制类的属性等基础知识、正则表达式基础知识、多态鸭子类型
  2. luogu P2124 奶牛美容
  3. ArcGIS学习05:坐标系
  4. WhatsApp 批量解封提交工具
  5. Linux 安装字体库-宋体
  6. leetcode day 2 【1905. 统计子岛屿】 BFS/DFS
  7. iOS开发三方资源 - 欲先攻其事必先利其器
  8. 2022年中国云市场份额:阿里云腾讯云下降
  9. 解除Word的编辑保护【简单版】
  10. css动画放大缩小效果