真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

怎么理解LeetCode關(guān)于數(shù)組的相對(duì)排序-創(chuàng)新互聯(lián)

本篇內(nèi)容介紹了“怎么理解LeetCode關(guān)于數(shù)組的相對(duì)排序”的有關(guān)知識(shí),在實(shí)際案例的操作過(guò)程中,不少人都會(huì)遇到這樣的困境,接下來(lái)就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

站在用戶的角度思考問(wèn)題,與客戶深入溝通,找到防城網(wǎng)站設(shè)計(jì)與防城網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶體驗(yàn)好的作品,建站類型包括:網(wǎng)站設(shè)計(jì)制作、成都網(wǎng)站制作、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、申請(qǐng)域名虛擬主機(jī)、企業(yè)郵箱。業(yè)務(wù)覆蓋防城地區(qū)。

  給你兩個(gè)數(shù)組,arr1 和 arr2,

  arr2 中的元素各不相同

  arr2 中的每個(gè)元素都出現(xiàn)在 arr1 中

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

  示例:

  輸入: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]

  提示:

  arr1.length, arr2.length <= 1000

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

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

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

  1、C++

  先遍歷arr1中的元素個(gè)數(shù),然后遍歷arr2按照arr1中對(duì)應(yīng)元素的個(gè)數(shù)添加進(jìn)結(jié)果數(shù)組中,最后將剩余的arr1中的元素按照原順序的元素個(gè)數(shù)循環(huán)添加。

  class Solution {

  public:

  vector relativeSortArray(vector& arr1, vector& arr2) {

  map m;

  int s1 = arr1.size(), s2 = arr2.size();

  vector res;

  for(int i=0;i

  auto iter = m.find(arr1[i]);

  if(iter!=m.end()){

  int temp = m[arr1[i]]+1;

  m.erase(arr1[i]);

  m.insert(pair(arr1[i], temp));

  }else{

  m.insert(pair(arr1[i], 1));

  }

  }

  for(int i=0;i

  auto iter = m.find(arr2[i]);

  if(iter!=m.end()){

  for(int j=0;jsecond;j++){

  res.push_back(iter->first);

  }

  m.erase(iter);

  }

  }

  for(auto i=m.begin();i!=m.end();i++){

  for(int k=0;ksecond;k++){

  res.push_back(i->first);

  }

  }

  return res;

  }

  };

  2、桶排序鄭州婦科醫(yī)院哪家好 http://fk.zyfuke.com/

  先統(tǒng)計(jì)arr1中元素的數(shù)量,注意索引是arr1中的值,然后把a(bǔ)rr2中的數(shù)按順序拿完,在把桶中剩下的按順序拿完。

  public int[] relativeSortArray(int[] arr1, int[] arr2) {

  int[] nums = new int[1001];

  int[] res = new int[arr1.length];

  //遍歷arr1,統(tǒng)計(jì)每個(gè)元素的數(shù)量

  for (int i : arr1) {

  nums[i]++;

  }

  //遍歷arr2,處理arr2中出現(xiàn)的元素

  int index = 0;

  for (int i : arr2) {

  while (nums[i]>0){

  res[index++] = i;

  nums[i]--;

  }

  }

  //遍歷nums,處理剩下arr2中未出現(xiàn)的元素

  for (int i = 0; i < nums.length; i++) {

  while (nums[i]>0){

  res[index++] = i;

  nums[i]--;

  }

  }

  return res;

  }

  3、python

  直接將arr2加上arr1減去arr2中的元素,并按照從小到大排序。然后按照arr2中的下標(biāo)的順序?qū)rr1進(jìn)行排序,其余的按照原來(lái)的順序。

  class Solution:

  def relativeSortArray(self, arr1: List[int], arr2: List[int]) -> List[int]:

  arr2 += sorted(set(arr1)-set(arr2))

  arr1.sort(key=arr2.index)

  return arr1

“怎么理解LeetCode關(guān)于數(shù)組的相對(duì)排序”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!


網(wǎng)頁(yè)題目:怎么理解LeetCode關(guān)于數(shù)組的相對(duì)排序-創(chuàng)新互聯(lián)
文章URL:http://weahome.cn/article/dpjeed.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部