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

go語言題解LeetCode1122數(shù)組的相對排序

 更新時間:2022年12月29日 08:39:30   作者:劉09k11  
這篇文章主要為大家介紹了go語言題解LeetCode1122數(shù)組的相對排序,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪

題目描述

1122. 數(shù)組的相對排序 - 力扣(LeetCode)

給你兩個數(shù)組,arr1 和 arr2,arr2 中的元素各不相同,arr2 中的每個元素都出現(xiàn)在 arr1 中。

arr1 中的元素進行排序,使 arr1 中項的相對順序和 arr2 中的相對順序相同。未在 arr2 中出現(xiàn)過的元素需要按照升序放在 arr1 的末尾。

示例 1:

輸入:arr1 = [2,3,1,3,2,4,6,7,9,2,19], arr2 = [2,1,4,3,9,6]
輸出:[2,2,2,1,4,3,3,9,6,7,19]

示例  2:

輸入:arr1 = [28,6,22,8,44,17], arr2 = [22,28,8,6]
輸出:[22,28,8,6,17,44]

提示:

1 <= arr1.length, arr2.length <= 1000

0 <= arr1[i], arr2[i] <= 1000

arr2 中的元素 arr2[i]  各不相同 

arr2 中的每個元素 arr2[i] 都出現(xiàn)在 arr1 中

思路分析

最簡單的就是 暴力法 了

解題思路

利用雙循環(huán)將數(shù)組1的數(shù)字依次與數(shù)組二相比較,相同則與前面元素交換位置
數(shù)組1中剩余元素利用sort函數(shù)進行排序即可

vector<int> relativeSortArray(vector<int>& arr1, vector<int>& arr2) {
        int tmp = 0;
        for(int i = 0;i<arr2.size();++i)
           for(int j = 0;j<arr1.size();++j){
               if(arr1[j] == arr2[i]){
                     swap(arr1[j],arr1[tmp]);
                     ++tmp;
               }
           }
           sort(arr1.begin()+tmp,arr1.end());
           return arr1;
    }

還有就是 計數(shù)排序

解題思路

與遞增遞減排序不同,本題是根據(jù)數(shù)組順序自定義排序,因此最適合計數(shù)排序來實現(xiàn)(桶排序)

因為題意說明數(shù)組中元素在0~1000之間,因此定義一個容量為1000的桶

第一個循環(huán)對數(shù)組1中的元素進行計數(shù),結(jié)果保存在桶中

第二個循環(huán)通過數(shù)組2,將重合的元素從數(shù)組1的0位置開始插入

第三個循環(huán),搜索桶中剩余的數(shù)組1元素,并把它們插入到數(shù)組1的后面。

vector<int> relativeSortArray(vector<int>& arr1, vector<int>& arr2) 
{
	vector<int> count(1001);
	for (int i = 0; i<arr1.size(); i++)
	{
		count[arr1[i]]++;
	}
	int k = 0;
	for (int i = 0; i<arr2.size(); i++)
	{
		while (count[arr2[i]]>0)
		{
			arr1[k++] = arr2[i];
			count[arr2[i]]--;
		}
	}
	for (int i = 0; i < count.size(); i++)
	{
		while (count[i] >0)
		{
			arr1[k++] = i;
			count[i]--;
		}
	}
	return arr1;
}

以上就是go語言題解LeetCode1122數(shù)組的相對排序的詳細內(nèi)容,更多關(guān)于go語言數(shù)組相對排序的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • golang語言http協(xié)議get拼接參數(shù)操作

    golang語言http協(xié)議get拼接參數(shù)操作

    這篇文章主要介紹了golang語言http協(xié)議get拼接參數(shù)操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-12-12
  • Go語言HttpRouter路由使用方法詳解

    Go語言HttpRouter路由使用方法詳解

    這篇文章主要介紹了Go語言HttpRouter路由使用方法詳解,需要的朋友可以參考下
    2022-04-04
  • Goland 關(guān)閉自動移除未使用的包操作

    Goland 關(guān)閉自動移除未使用的包操作

    這篇文章主要介紹了Goland 關(guān)閉自動移除未使用的包操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-12-12
  • Go語言LeetCode題解682棒球比賽

    Go語言LeetCode題解682棒球比賽

    這篇文章主要為大家介紹了Go語言LeetCode題解682棒球比賽示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-12-12
  • mayfly-go部署和使用詳解

    mayfly-go部署和使用詳解

    這篇文章主要介紹了mayfly-go部署和使用詳解,此處部署基于CentOS7.4部署,結(jié)合實例代碼圖文給大家講解的非常詳細,需要的朋友可以參考下
    2022-09-09
  • Golang獲取本地IP地址方法分享

    Golang獲取本地IP地址方法分享

    這篇文章主要給大家介紹了Golang 獲取本地 IP 地址方法,文中有詳細的代碼示例,對我們的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下
    2023-07-07
  • Golang中結(jié)構(gòu)體映射mapstructure庫深入詳解

    Golang中結(jié)構(gòu)體映射mapstructure庫深入詳解

    mapstructure用于將通用的map[string]interface{}解碼到對應(yīng)的 Go 結(jié)構(gòu)體中,或者執(zhí)行相反的操作。很多時候,解析來自多種源頭的數(shù)據(jù)流時,我們一般事先并不知道他們對應(yīng)的具體類型。只有讀取到一些字段之后才能做出判斷
    2023-01-01
  • GO語言Defer用法實例分析

    GO語言Defer用法實例分析

    這篇文章主要介紹了GO語言Defer用法,實例分析了Defer的使用技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-02-02
  • 基于Golang?container/list實現(xiàn)LRU緩存

    基于Golang?container/list實現(xiàn)LRU緩存

    Least?Recently?Used?(LRU)?,即逐出最早使用的緩存,這篇文章主要為大家介紹了如何基于Golang?container/list實現(xiàn)LRU緩存,感興趣的可以了解下
    2023-08-08
  • Golang發(fā)送Get和Post請求的實現(xiàn)

    Golang發(fā)送Get和Post請求的實現(xiàn)

    做第三方接口有時需要用Get或者Post請求訪問,本文主要介紹了Golang發(fā)送Get和Post請求的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-05-05

最新評論