欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Go語言題解LeetCode888公平糖果交換示例詳解

 更新時(shí)間:2022年12月28日 14:13:12   作者:劉09k11  
這篇文章主要為大家介紹了Go語言題解LeetCode888公平糖果交換示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

一 描述

888. 公平的糖果交換 - 力扣(LeetCode) (leetcode-cn.com)

愛麗絲和鮑勃擁有不同總數(shù)量的糖果。給你兩個(gè)數(shù)組 aliceSizesbobSizesaliceSizes[i] 是愛麗絲擁有的第 i 盒糖果中的糖果數(shù)量,bobSizes[j] 是鮑勃擁有的第 j 盒糖果中的糖果數(shù)量。

兩人想要互相交換一盒糖果,這樣在交換之后,他們就可以擁有相同總數(shù)量的糖果。一個(gè)人擁有的糖果總數(shù)量是他們每盒糖果數(shù)量的總和。

返回一個(gè)整數(shù)數(shù)組 answer,其中 answer[0] 是愛麗絲必須交換的糖果盒中的糖果的數(shù)目,answer[1] 是鮑勃必須交換的糖果盒中的糖果的數(shù)目。如果存在多個(gè)答案,你可以返回其中 任何一個(gè) 。題目測試用例保證存在與輸入對應(yīng)的答案。

示例 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]

提示:

1 <= aliceSizes.length, bobSizes.length <= 10^4

1 <= aliceSizes[i], bobSizes[j] <= 10^5

愛麗絲和鮑勃的糖果總數(shù)量不同。

題目數(shù)據(jù)保證對于給定的輸入至少存在一個(gè)有效答案。

二 分析

計(jì)算若A與B相同時(shí),A所需要的糖果大小,遍歷B,尋找該糖果

  • 首先計(jì)算A與B的糖果總和
  • A與B相等所需要的糖果差值是(sum_B-sum_a)/2
  • 構(gòu)建哈希表,哈希表為A的每個(gè)元素,加上2的差值
  • 遍歷B,尋找B中是否有某一糖果與哈希表某一數(shù)值相等
  • 輸出數(shù)值

三 答案

class Solution {
public:
    vector<int> fairCandySwap(vector<int>& A, vector<int>& B) {
        int sum_A=0;//1 首先計(jì)算A與B的糖果總和
        int sum_B=0;
        for(auto a:A)
        {
            sum_A=sum_A+a;
        }
        for(auto b:B)
        {
            sum_B=sum_B+b;
        }
        unordered_map<int,int> map;//2 A與B相等所需要的糖果差值是(sum_B-sum_a)/2
        for(auto a:A)//3 構(gòu)建哈希表,哈希表為A的每個(gè)元素,加上2的差值
        {
            map[a+(sum_B-sum_A)/2];
        }
        for(auto b:B)//4 遍歷B,尋找B中是否有某一糖果與哈希表某一數(shù)值相等
        {
            if(map.find(b)!=map.end())
            {
                return{b+(sum_A-sum_B)/2,b};//5 輸出數(shù)值
            }
        }
        return {};
    }
};

以上就是Go語言題解LeetCode888公平糖果交換示例詳解的詳細(xì)內(nèi)容,更多關(guān)于Go題解公平糖果交換的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • golang?cache帶索引超時(shí)緩存庫實(shí)戰(zhàn)示例

    golang?cache帶索引超時(shí)緩存庫實(shí)戰(zhàn)示例

    這篇文章主要為大家介紹了golang?cache帶索引超時(shí)緩存庫實(shí)戰(zhàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-09-09
  • Go語言實(shí)戰(zhàn)之實(shí)現(xiàn)均衡器功能

    Go語言實(shí)戰(zhàn)之實(shí)現(xiàn)均衡器功能

    這篇文章主要為大家詳細(xì)介紹了如何利用Golang?實(shí)現(xiàn)一個(gè)簡單的流浪均衡器,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2023-04-04
  • 淺談Golang如何使用Viper進(jìn)行配置管理

    淺談Golang如何使用Viper進(jìn)行配置管理

    在Golang生態(tài)中,Viper是一個(gè)不錯(cuò)的開源配置管理框架,這篇文章主要為大家介紹了Golang如何使用Viper進(jìn)行配置管理,需要的可以參考一下
    2023-06-06
  • 解析go語言調(diào)用約定多返回值實(shí)現(xiàn)原理

    解析go語言調(diào)用約定多返回值實(shí)現(xiàn)原理

    這篇文章主要為大家介紹了解析go語言調(diào)用約定多返回值實(shí)現(xiàn)原理,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-05-05
  • Go語言入門Go?Web?Fiber框架快速了解

    Go語言入門Go?Web?Fiber框架快速了解

    這篇文章主要為大家介紹了Go語言入門Go?Web?Fiber框架的示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-05-05
  • Golang使用gin框架實(shí)現(xiàn)一個(gè)完整的聊天室功能

    Golang使用gin框架實(shí)現(xiàn)一個(gè)完整的聊天室功能

    由于我們項(xiàng)目的需要,我就研究了一下關(guān)于websocket的相關(guān)內(nèi)容,去實(shí)現(xiàn)一個(gè)聊天室的功能,經(jīng)過幾天的探索,現(xiàn)在使用Gin框架實(shí)現(xiàn)了一個(gè)完整的聊天室+消息實(shí)時(shí)通知系統(tǒng),感興趣的小伙伴歡迎閱讀本文
    2023-08-08
  • golang xorm日志寫入文件中的操作

    golang xorm日志寫入文件中的操作

    這篇文章主要介紹了golang xorm日志寫入文件中的操作,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-12-12
  • Golang defer延遲語句的實(shí)現(xiàn)

    Golang defer延遲語句的實(shí)現(xiàn)

    defer擁有注冊延遲調(diào)用的機(jī)制,本文主要介紹了Golang defer延遲語句的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-07-07
  • Go語言的互斥鎖的詳細(xì)使用

    Go語言的互斥鎖的詳細(xì)使用

    本文主要介紹了Go語言的互斥鎖的詳細(xì)使用,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-06-06
  • 深入了解Golang中reflect反射基本原理

    深入了解Golang中reflect反射基本原理

    反射是這樣一種機(jī)制,它是可以讓我們在程序運(yùn)行時(shí)(runtime)訪問、檢測和修改對象本身狀態(tài)或行為的一種能力。本文主要帶大家來看看Golang中reflect反射基本原理,需要的可以參考一下
    2023-01-01

最新評論