链接:888. 公平的糖果棒交换

题解:

https://leetcode-cn.com/problems/fair-candy-swap/solution/fen-xi-zhe-ge-ti-mu-zen-yao-xiang-shu-ju-rpg6/

1.taget表示如果A和B两个人获得相等的值,target=(sum_A + sum_B)/2

2.为了优化时间复杂度,将B的值用set存储起来

3.遍历A,判断是否存在这样的B值

class Solution {public:void prefix_and_back_sum(const vector<int>& nums, vector<int>& prefixs, vector<int>& backs) {prefixs.resize(nums.size(), 0);for(int i = 1; i < nums.size(); ++i) {prefixs[i] = prefixs[i-1] + nums[i-1];}backs.resize(nums.size(), 0);for(int i = nums.size()-2; i >= 0; --i) {backs[i] = backs[i+1] + nums[i+1];}}vector<int> fairCandySwap(vector<int>& A, vector<int>& B) {vector<int> a_prefixs;vector<int> a_backs;prefix_and_back_sum(A, a_prefixs, a_backs);int sumA = accumulate(A.begin(), A.end(), 0);int sumB = accumulate(B.begin(), B.end(), 0);int target = (sumA + sumB) / 2;unordered_set<int> table(B.begin(), B.end());for(int i = 0; i < A.size(); ++i) {int a_sum = a_prefixs[i] + a_backs[i];if(table.find(target-a_sum) != table.end()) {return vector<int>{A[i], target-a_sum};}}return vector<int>{};}
};

888. 公平的糖果棒交换相关推荐

  1. 【每日一题】 888. 公平的糖果棒交换

    [每日一题] 888. 公平的糖果棒交换 避免每日太过咸鱼,一天搞定一道LeetCode算法题 一.题目描述 难度: 简单 爱丽丝和鲍勃有不同大小的糖果棒:A[i] 是爱丽丝拥有的第 i 根糖果棒的大 ...

  2. leetcode 888. 公平的糖果棒交换(set)

    爱丽丝和鲍勃有不同大小的糖果棒:A[i] 是爱丽丝拥有的第 i 根糖果棒的大小,B[j] 是鲍勃拥有的第 j 根糖果棒的大小. 因为他们是朋友,所以他们想交换一根糖果棒,这样交换后,他们都有相同的糖果 ...

  3. LeetCode题库第888题 公平的糖果棒交换

    LeetCode题库第888题 公平的糖果棒交换 LeetCode第888道题 公平的糖果棒交换 首先,题目中说他们两个人的糖果的总数量是不一样的,并且要将A中的一个糖果和B的一个糖果交换后使得他们两 ...

  4. LeetCode 888. 公平的糖果交换(哈希set)

    文章目录 1. 题目 2. 解题 2.1 暴力查找 2.2 哈希set 1. 题目 爱丽丝和鲍勃有不同大小的糖果棒:A[i] 是爱丽丝拥有的第 i 块糖的大小,B[j] 是鲍勃拥有的第 j 块糖的大小 ...

  5. 888. 公平的糖果交换

    爱丽丝和鲍勃有不同大小的糖果棒:A[i] 是爱丽丝拥有的第 i 块糖的大小,B[j] 是鲍勃拥有的第 j 块糖的大小. 因为他们是朋友,所以他们想交换一个糖果棒,这样交换后,他们都有相同的糖果总量.( ...

  6. 刷爆力扣之公平的糖果交换

    刷爆力扣之公平的糖果交换 HELLO,各位看官大大好,我是阿呆

  7. LeetCode简单题之公平的糖果交换

    题目 爱丽丝和鲍勃拥有不同总数量的糖果.给你两个数组 aliceSizes 和 bobSizes ,aliceSizes[i] 是爱丽丝拥有的第 i 盒糖果中的糖果数量,bobSizes[j] 是鲍勃 ...

  8. 自用力扣笔记备忘录——数组tag简单题

    想来想去还是决定写在csdn,本地的移动性不太好 此备忘录自用为住,方便本人复习用的 方法1为本人自己写的,其他的均有参考 目录若无方法一只有方法二,则是没写出来: 如果没有方法N小标题说明这个题官方 ...

  9. LeetCode-数据结构

    文章目录 应做未做 未弄懂 经典题+易错题 一.长见识的方法 二.杂七杂八积累 三.面试常考题目索引 java刷题常用 树 数组 摩尔投票算法 堆 数据流的中位数 排序 四.基础知识总结 4.x 数组 ...

最新文章

  1. 常用的高性能 KV 存储 Redis、Memcached、etcd、Zookeeper 区别
  2. win10不能上网问题的解决办法
  3. 如何将Visio图形转换成EPS格式【mark from百度知道】
  4. 单点突破,击穿阈值,DevOps转型你需要这样做
  5. 【渝粤教育】电大中专品牌管理与推广 (2)作业 题库
  6. 电脑系统重装后没有声音怎么办​
  7. UVA10751 Chessboard【数学水题】
  8. failed to fetch url linux,ubuntu apt-get下载报failed to fetch错误,请问如何解决
  9. [Python图像处理] 十七.图像锐化与边缘检测之Roberts算子、Prewitt算子、Sobel算子和Laplacian算子
  10. Origin Pro2022教育版官方申请、安装及汉化、续期
  11. nodejs轻量型个人文档管理系统
  12. 攻克3D神器Blender的第一天-【快捷键】
  13. 淘淘商城第75讲——添加商品同步到索引库以及消息机制测试
  14. 软件公司绩效考核(大家提提建议)
  15. DIY M328晶体管测试仪 挖坑 填坑
  16. java工作中好用的方法
  17. TEMPDB空间已满
  18. 思科路由器无法访问互联网怎么操作?
  19. 判断素数(质数)高效算法
  20. html创建目录6,VB6选择文件夹的时候有新建文件夹按钮

热门文章

  1. 信息系统安全等级保护备案任务详单
  2. ONAP如何将Open-O和ECOMP数百万行代码合并?
  3. HDU 1255 覆盖的面积(线段树+扫描线)
  4. Parasoft C++test使用教程:执行测试用例(上)
  5. 菜鸟学Linux 第026篇笔记 LVM
  6. iOS开发 - OC - 实现本地数据存储的几种方式一
  7. 论ARMv7 Thumb-2指令集的性能(含Thumb指令集介绍)【转载】
  8. 《OSPF和IS-IS详解》
  9. CentOS 7下安装samba
  10. 14.1.2 Checking InnoDB Availability 检查InnoDB 可用性: