LeetCode Weekly Contest 145 1問目 - Relative Sort Array [1122]

Source

LeetCode Weekly Contest 145
問題文

問題概要

省略

解法

省略

cLayversion 20190714-1)のコード [C++に変換後]

#include<bits/stdc++.h>
using namespace std;
int c[1200];
int f[1200];
class Solution{
  public:
  vector<int> relativeSortArray(vector<int>& arr1, vector<int>& arr2){
    int i, m, n;
    m = arr1.size();
    n = arr2.size();
    for(i=0;i<1001;i++){
      f[i] = 0;
    }
    for(i=0;i<n;i++){
      f[arr2[i]] = 1;
    }
    for(i=0;i<1001;i++){
      if(!f[i]){
        arr2.push_back(i);
      }
    }
    n = arr2.size();
    for(i=0;i<n;i++){
      c[arr2[i]] = i;
    }
    for(i=0;i<m;i++){
      arr1[i] = c[arr1[i]];
    }
    sort(arr1.begin(), arr1.end());
    for(i=0;i<m;i++){
      arr1[i] = arr2[arr1[i]];
    }
    return arr1;
  }
}
;

// cLay varsion 20190714-1

// --- original code ---
// int c[1200], f[1200];
// 
// class Solution {
// public:
//   vector<int> relativeSortArray(vector<int>& arr1, vector<int>& arr2) {
//     int i, m, n;
//     m = arr1.size();
//     n = arr2.size();
// 
//     rep(i,1001) f[i] = 0;
//     rep(i,n) f[arr2[i]] = 1;
//     rep(i,1001) if(!f[i]) arr2.push_back(i);
//     n = arr2.size();
//     
//     rep(i,n) c[arr2[i]] = i;
//     rep(i,m) arr1[i] = c[arr1[i]];
//     sort(arr1.begin(), arr1.end());
//     rep(i,m) arr1[i] = arr2[arr1[i]];
//     return arr1;
//   }
// };
// 
// {
//   // main関数を適当に処理する
// }

Current time: 2024年04月19日22時40分08秒
Last modified: 2019年07月14日13時59分04秒 (by laycrs)
Tags: Competitive_Programming_Incomplete LeetCode
トップページに戻る

Logged in as: unknown user (not login)

ログイン: