首页 > 其他分享 >公平的糖果交换

公平的糖果交换

时间:2023-06-27 19:45:55浏览次数:45  
标签:示例 int resutlt 交换 aliceSizes bobSizes 公平 糖果

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

两人想要互相交换一盒糖果,这样在交换之后,他们就可以拥有相同总数量的糖果。一个人拥有的糖果总数量是他们每盒糖果数量的总和。

返回一个整数数组 answer,其中 answer[0] 是爱丽丝必须交换的糖果盒中的糖果的数目,answer[1] 是鲍勃必须交换的糖果盒中的糖果的数目。如果存在多个答案,你可以返回其中 任何一个 。题目测试用例保证存在与输入对应的答案。

示例 1:

输入:aliceSizes = [1,1], bobSizes = [2,2]
输出:[1,2]
示例 2:

输入:aliceSizes = [1,2], bobSizes = [2,3]
输出:[1,2]
示例 3:

输入:aliceSizes = [2], bobSizes = [1,3]
输出:[2,3]
示例 4:

输入:aliceSizes = [1,2,5], bobSizes = [2,4]
输出:[5,4]

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

class Solution {
    public int[] fairCandySwap(int[] aliceSizes, int[] bobSizes) {
        //数组总值
        int sumA = Arrays.stream(aliceSizes).sum();
        int sumB = Arrays.stream(bobSizes).sum();
        //式子sumA−x+y=sumB+x−y =>x=y+(sumA−sumB)/2
        int delta = (sumA-sumB)/2;
        HashSet<Integer> set = new HashSet<>();
        for(int aliceSize : aliceSizes){
            set.add(aliceSize);
        }
        int[] resutlt = new int[2];
        for(int bobSize : bobSizes){
            if(set.contains(bobSize+delta)){
                resutlt[0]=bobSize+delta;
                resutlt[1]=bobSize;
                break;
            }
        }
        return resutlt;
    }
}

标签:示例,int,resutlt,交换,aliceSizes,bobSizes,公平,糖果
From: https://www.cnblogs.com/xiaochaofang/p/17509760.html

相关文章

  • 交换机的高级特性
    1.MUX-VLAN步骤:a.首先创建若干个vlanb.选出一个主vlan10c.选出一个隔离子vlan 200d.选出若干个互通型子vlan300400达到的效果:所有子vlan都可以和主vlan互通隔离vlan和其他的子vlan不通,隔离vlan之间也不通互通型vlan和其他子vlan不通,互通型vlan内部可以通信配置:[SW1]vlanba......
  • linux服务器网口bond和交换机链路聚合的对接和差异之理解
    linux服务器网口bond和交换机链路聚合的对接和差异之理解1、前言我们在服务器和交换机对接的场景中,经常接到这样的需求——1、希望服务器和接入交换机之间的链路形成冗余;2、两条链路形成冗余的同时,对两条物理链路的流量进行负载分担,从而形成带宽叠加的效果。因此在这样的需求之......
  • 两数交换(函数)
    #include<stdio.h>swap(int*pa,int*pb){ inttmp=0; tmp=*pa; *pa=*pb; *pb=tmp;}intmain(){ inta=10; intb=20; printf("a=%d,b=%d\n",a,b); swap(&a,&b); printf("a=%d,b=%d\n",a,b); return......
  • 核心交换机六个基础知识
    一、背板带宽背板带宽也称交换容量,是交换机接口处理器或接口卡和数据总线间所能吞吐的最大数据量,就像是立交桥所拥有的车道的总和。由于所有端口间的通信都需要通过背板完成,所以背板所能提供的带宽,就成为端口间并发通信时的瓶颈。带宽越大,提供给各端口的可用带宽越大,数据交换速......
  • HTTP(Hypertext Transfer Protocol)是一种用于在网络上传输超文本的协议。它是Web应用程
    HTTP(HypertextTransferProtocol)是一种用于在网络上传输超文本的协议。它是Web应用程序之间数据交换的基础,并且也被广泛用于其他应用程序之间的通信。HTTP基于客户端-服务器模型,其中客户端发起请求,而服务器响应请求并返回相应的数据。它使用TCP/IP作为底层传输协议,通过在客户端......
  • 工业网络交换机的功率和管理功能介绍
    工业网络交换机的功率和管理功能可以根据具体的产品型号和厂商提供的规格和功能而有所不同。下面是一些常见的工业网络交换机功率和管理功能:功率:供电方式:工业网络交换机通常支持多种供电方式,包括AC电源、DC电源、POE(PoweroverEthernet)等。不同的供电方式可以根据实际情况选择,以......
  • 死信 与 死信交换机【Spring Cloud - 服务异步通信】
    什么是死信?当一个队列中的消息满足下列情况之一时,可以称为死信(deadletter):- 消费者使用basic.reject或basic.nack声明消费失败,并且消息的requeue参数设置为false- 消息是一个过期消息,超时无人消费- 要投递的队列消息慢了,无法投递 什么是死信交换......
  • Python 中的 JSON 操作:简单、高效的数据交换格式
    在现代的数据交换和存储中,JSON(JavaScriptObjectNotation)作为一种轻量级的数据交换格式,备受青睐。它不仅易于阅读和理解,还可以灵活地表达和存储高维数据。本文将介绍如何在Python中操作JSON文件,实现数据的序列化和反序列化。1.JSON数据格式JSON格式采用键值对的方式......
  • 交换机配置命令(华为/华三/锐捷/思科)
    一:华为交换机  1、创建vlan  <Quidway>          //用户视图,也就是在Quidway模式下运行命令  <Quidway>system-view    //进入配置视图  [Quidway]vlan10//创建vlan10并进入vlan10配置视图,如果vlan10存在就直接进入vlan10配置视图  [Quidway-vla......
  • 新建交换机并绑定队列
    新建exchangeName:exchange_approve_carresource_message新建队列Name:clue.approve.carresource.message.queue该队列绑定到exchange_approve_carresource_messageRoutingkey:clue.approve.carresource.message.queue......