博客
关于我
LeetCode 1122. 数组的相对排序
阅读量:799 次
发布时间:2023-04-16

本文共 1192 字,大约阅读时间需要 3 分钟。

题目给出了两个数组arr1和arr2,要求对arr1进行排序,使其元素的相对顺序与arr2中的元素相对顺序一致。未在arr2中出现过的元素需要按照升序放在arr1的末尾。

解题思路

  • 排序arr1:首先对arr1进行排序。这一步可以确保所有元素按照升序排列,为后续处理提供有序的环境。
  • 提取arr2中的元素:遍历arr2中的每一个元素,逐个在排序后的arr1中查找,并将这些元素提取出来。提取时,可以将对应的元素标记为已处理,以避免重复使用。
  • 处理未提取的元素:在提取完arr2中的所有元素后,剩下的未被处理的元素(即未在arr2中出现的元素)需要按照升序排列,依次添加到结果的末尾。
  • 代码实现

    #include 
    #include
    using namespace std;vector
    relativeSortArray(vector
    & arr1, vector
    & arr2) { // 对arr1进行排序 sort(arr1.begin(), arr1.end()); vector
    res; int cnt = 0; // 遍历arr2中的每一个元素 for (int i = 0; i < arr2.size(); ++i) { // 在arr1中找到对应的元素 for (int j = 0; j < arr1.size(); ++j) { if (arr1[j] == arr2[i]) { res.push_back(arr1[j]); arr1[j] = -1; // 标记已处理 break; } } } // 处理未在arr2中出现的元素 for (int i = 0; i < arr1.size(); ++i) { if (arr1[i] != -1) { res.push_back(arr1[i]); } } return res;}

    示例

    输入: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:使用sort函数对arr1进行升序排序。
  • 提取arr2中的元素:通过遍历arr2中的每个元素,逐个在排序后的arr1中查找并提取,确保提取的元素与arr2中的顺序一致。
  • 处理剩余元素:在提取完arr2中的所有元素后,剩下的元素(未在arr2中出现的元素)按照升序排列,依次添加到结果中。
  • 该方法确保了arr1的元素相对顺序与arr2中的顺序一致,同时也处理了未在arr2中出现的元素。

    转载地址:http://kdgfk.baihongyu.com/

    你可能感兴趣的文章
    Objective-C实现n body simulationn体模拟算法(附完整源码)
    查看>>
    Objective-C实现naive string search字符串搜索算法(附完整源码)
    查看>>
    Objective-C实现natural sort自然排序算法(附完整源码)
    查看>>
    Objective-C实现nested brackets嵌套括号算法(附完整源码)
    查看>>
    Objective-C实现nevilles method多项式插值算法(附完整源码)
    查看>>
    Objective-C实现newtons second law of motion牛顿第二运动定律算法(附完整源码)
    查看>>
    Objective-C实现newton_raphson牛顿拉夫森算法(附完整源码)
    查看>>
    Objective-C实现NLP中文分词(附完整源码)
    查看>>
    Objective-C实现NLP中文分词(附完整源码)
    查看>>
    Objective-C实现not gate非门算法(附完整源码)
    查看>>
    Objective-C实现number of digits解字符数算法(附完整源码)
    查看>>
    Objective-C实现NumberOfIslands岛屿的个数算法(附完整源码)
    查看>>
    Objective-C实现n皇后问题算法(附完整源码)
    查看>>
    Objective-C实现OCR文字识别(附完整源码)
    查看>>
    Objective-C实现odd even sort奇偶排序算法(附完整源码)
    查看>>
    Objective-C实现page rank算法(附完整源码)
    查看>>
    Objective-C实现PageRank算法(附完整源码)
    查看>>
    Objective-C实现pascalTriangle帕斯卡三角形算法(附完整源码)
    查看>>
    Objective-C实现perfect cube完全立方数算法(附完整源码)
    查看>>
    Objective-C实现PNG图片格式转换BMP图片格式(附完整源码)
    查看>>