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

文章目录

    • 1. 题目
    • 2. 解题
      • 2.1 暴力查找
      • 2.2 哈希set

1. 题目

爱丽丝和鲍勃有不同大小的糖果棒:A[i] 是爱丽丝拥有的第 i 块糖的大小,B[j] 是鲍勃拥有的第 j 块糖的大小。

因为他们是朋友,所以他们想交换一个糖果棒,这样交换后,他们都有相同的糖果总量。(一个人拥有的糖果总量是他们拥有的糖果棒大小的总和。)

返回一个整数数组 ans,其中 ans[0] 是爱丽丝必须交换的糖果棒的大小,ans[1] 是 Bob 必须交换的糖果棒的大小。

如果有多个答案,你可以返回其中任何一个。保证答案存在。

示例 1:
输入:A = [1,1], B = [2,2]
输出:[1,2]示例 2:
输入:A = [1,2], B = [2,3]
输出:[1,2]示例 3:
输入:A = [2], B = [1,3]
输出:[2,3]示例 4:
输入:A = [1,2,5], B = [2,4]
输出:[5,4]提示:
1 <= A.length <= 10000
1 <= B.length <= 10000
1 <= A[i] <= 100000
1 <= B[i] <= 100000
保证爱丽丝与鲍勃的糖果总量不同。
答案肯定存在。

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/fair-candy-swap
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

2. 解题

2.1 暴力查找

class Solution {
public:vector<int> fairCandySwap(vector<int>& A, vector<int>& B) {int s1 = 0, s2 = 0, s;for(int &i : A)s1 += i;for(int &i : B)s2 += i;s = s1 + s2;for(int &i : A)for(int &j : B)if(s1-i+j == s/2)return {i,j};return {};}
};

在这里插入图片描述

2.2 哈希set

class Solution {
public:vector<int> fairCandySwap(vector<int>& A, vector<int>& B) {int s1 = 0, s2 = 0, s;unordered_set<int> set;for(int &i : A)s1 += i;for(int &i : B){s2 += i;set.insert(i);}s = s1 + s2;for(int &i : A)if(set.count(s/2 - s1 + i))return {i,s/2 - s1 + i};return {};}
};

在这里插入图片描述

  • 哈希可以实现 O(1) 的查找,比暴力法 O(n2) 快很多

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/477976.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

OpenKG开源系列 | 面向知识的推理问答编程语言KoPL(清华大学)

OpenKG地址&#xff1a;http://openkg.cn/tool/koplGitHub地址&#xff1a;https://github.com/THU-KEG/KoPL网站地址&#xff1a;https://kopl.xlore.cn开放许可协议&#xff1a;MIT License贡献者&#xff1a;清华大学&#xff08;曹书林、史佳欣、姚子俊、吕鑫、聂麟骁、逄凡…

前端组件化开发实践

前言 一位计算机前辈曾说过&#xff1a; Controlling complexity is the essence of computer programming.随着前端开发复杂度的日益提升&#xff0c;组件化开发应运而生&#xff0c;并随着 FIS、React 等优秀框架的出现遍地开花。这一过程同样发生在美团&#xff0c;面临业务…

LeetCode 937. 重新排列日志文件(自定义排序)

1. 题目 你有一个日志数组 logs。每条日志都是以空格分隔的字串。 对于每条日志&#xff0c;其第一个字为字母数字标识符。然后&#xff0c;要么&#xff1a; 标识符后面的每个字将仅由小写字母组成&#xff0c;或&#xff1b;标识符后面的每个字将仅由数字组成。 我们将这…

预训练时代微调新范式,高性能加速2800%,NLPer赶紧看过来!

一、导读PaddleNLP 是兼具科研学习和产业实践能力的 Python NLP 工具包&#xff0c;提供中文领域丰富的预训练模型和部署工具&#xff0c;被高校、企业开发者广泛应用。近日&#xff0c;PaddleNLP v2.1正式发布&#xff0c;为开发者带来三项重要更新&#xff1a;开箱即用的工业…

论文浅尝 | GaussianPath: 用于知识图谱推理的贝叶斯多跳推理框架

笔记整理&#xff1a;谭亦鸣&#xff0c;东南大学博士生来源&#xff1a;AAAI’21链接&#xff1a;https://ojs.aaai.org/index.php/AAAI/article/view/16565多跳推理由于对下游任务例如问答和图谱补全的可解释性受到关注。多跳推理是一个典型的顺序决策过程&#xff0c;可表述…

AllenAI 发布万能问答系统 MACAW!各类题型样样精通,性能大幅超越 GPT-3!

文 | python前言GPT-3 等超大规模预训练语言模型&#xff0c;在少监督任务&#xff08;few-shot tasks&#xff09;上取得了令人瞩目的成绩。而这篇文章中&#xff0c;AllenAI的研究员提出了大规模生成式问答模型&#xff0c;MACAW。基于多角度预训练&#xff0c;MACAW可以用于…

论文浅尝 | SMBOP: Semi-autoregressive Bottom-up Semantic Parsing

笔记整理&#xff1a;陈永锐&#xff0c;东南大学博士来源&#xff1a;NAACL 2021概述近年来语义解析的事实上的标准解码方法是使用自顶向下的深度优先遍历对目标程序的抽象语法树进行自回归解码。该工作提出了一种替代方法&#xff1a;半自回归自底向上解析器&#xff08;SMBO…

美团酒店Node全栈开发实践

前后端分离的背景 “前后端分离”显然已不是什么新鲜的话题&#xff0c;Zakas在2013年10月份就曾发表过一篇博客《Node.js and the new web front-end》讨论Node背景下新时代的前端。毫无疑问&#xff0c;Node的出现给JavaScript语言带来了新的生机&#xff0c;也使得前端开发者…

统计学习方法总结

统计学习方法总结 阅读目录(Content)0. 相关知识点0x1: 监督学习1. 模型假设空间2. 生成模型与判别模型的联系与区别 3. 学习策略4. 分类问题与回归问题5. 利用模型进行预测和分析0x2&#xff1a;模型评估与模型选择1. 训练误差与测试误差2. 过拟合与模型选择0x3&#xff1a;正…

LeetCode 997. 找到小镇的法官(图的出度和入度)

1. 题目 在一个小镇里&#xff0c;按从 1 到 N 标记了 N 个人。传言称&#xff0c;这些人中有一个是小镇上的秘密法官。 如果小镇的法官真的存在&#xff0c;那么&#xff1a; 小镇的法官不相信任何人。每个人&#xff08;除了小镇法官外&#xff09;都信任小镇的法官。只有…

哈工大|NLP数据增强方法?我有15种

文 | rumor源 | 李rumor卷友们好&#xff0c;我是rumor。十一假期过的太快了&#xff0c;不知道你们缓过来没有&#xff0c;没有的话今天我们就来一起读一篇综述缓缓&#xff0c;弥补假期没学习的遗憾。这篇40多页的综述出自哈工大车万翔老师的团队&#xff0c;一共总结了15种N…

论文浅尝 | Wordly Wise(WoW) - 用于语音视觉知识问答的跨语言知识融合模型

笔记整理: 谭亦鸣&#xff0c;东南大学博士生来源&#xff1a;NAACL’21链接&#xff1a;https://aclanthology.org/2021.naacl-main.153.pdf论文提出了一种新的知识图谱问答数据集命名为FVSQA&#xff0c;这是一种语音视觉知识问答类型的任务&#xff0c;即问题形式为音频&…

美团Android DEX自动拆包及动态加载简介

概述 作为一个android开发者&#xff0c;在开发应用时&#xff0c;随着业务规模发展到一定程度&#xff0c;不断地加入新功能、添加新的类库&#xff0c;代码在急剧的膨胀&#xff0c;相应的apk包的大小也急剧增加&#xff0c; 那么终有一天&#xff0c;你会不幸遇到这个错误&a…

LeetCode 83. 删除排序链表中的重复元素(链表)

1. 题目 给定一个排序链表&#xff0c;删除所有重复的元素&#xff0c;使得每个元素只出现一次。 示例 1: 输入: 1->1->2 输出: 1->2示例 2: 输入: 1->1->2->3->3 输出: 1->2->3来源&#xff1a;力扣&#xff08;LeetCode&#xff09; 链接&#…

用多模态信息做 prompt,解锁 GPT 新玩法

文 | 子龙编 | 小轶自多模态大火以来&#xff0c;井喷式地出现了许多工作&#xff0c;通过改造预训练语言模型&#xff0c;用图像信息来增强语义信息&#xff0c;但主要集中在几个 NLU 任务上&#xff0c;在 NLG 上的研究比较少。今天要介绍的这篇 paper Multimodal Conditiona…

论文浅尝 | 基于时序知识图谱的问答

笔记整理&#xff1a;姚云志&#xff0c;浙江大学在读博士&#xff0c;研究方向为自然语言处理。链接&#xff1a;https://arxiv.org/pdf/2106.01515.pdf时序知识图谱是一种多关系的知识图谱&#xff0c;相较于常规的知识图谱&#xff0c;时序知识图谱中的关系中会与时间段相关…

Logistic Regression 模型简介

逻辑回归&#xff08;Logistic Regression&#xff09;是机器学习中的一种分类模型&#xff0c;由于算法的简单和高效&#xff0c;在实际中应用非常广泛。本文作为美团机器学习InAction系列中的一篇&#xff0c;主要关注逻辑回归算法的数学模型和参数求解方法&#xff0c;最后也…

开源开放 | 中国近代历史人物知识图谱

OpenKG地址&#xff1a;http://openkg.cn/dataset/zgjdlsrw项目地址&#xff1a;http://www.zjuwtx.work/project/kg开放许可协议&#xff1a;CC BY-SA 4.0 &#xff08;署名相似共享&#xff09;贡献者&#xff1a;浙江大学&#xff08;王天笑&#xff09;1、引言中国近代历史…

LeetCode 1071. 字符串的最大公因子(字符串的最大公约数)

1. 题目 对于字符串 S 和 T&#xff0c;只有在 S T … T&#xff08;T 与自身连接 1 次或多次&#xff09;时&#xff0c;我们才认定 “T 能除尽 S”。 返回字符串 X&#xff0c;要求满足 X 能除尽 str1 且 X 能除尽 str2。 示例 1&#xff1a; 输入&#xff1a;str1 &q…

大模型炼丹无从下手?谷歌、OpenAI烧了几百万刀,总结出这些方法论…

文 | Yimin_饭煲都1202年了&#xff0c;不会真有深度学习炼丹侠还没有训练/推理过大模型吧“没吃过猪肉&#xff0c;还没见过猪跑吗&#xff1f;”在深度学习算力高度增长的今天&#xff0c;不论是学术界还是工业界的从业者&#xff0c;即使尚未达到从头预训练一个百亿级别参数…