LeetCode Weekly Contest 273 4問目 - Recover the Original Array [2122]

Source

LeetCode Weekly Contest 273
問題文

問題概要

省略

解法

省略

cLay(version 20211231-1)のコード

C++に変換後のコードはこちら

#define main dummy_main
{}
#undef main

class Solution {
public:
  vector<int> recoverArray(vector<int>& A) {
    int N = A.size(), K, i, j;
    int ok[N+1];
    VI res;
    sort(A.begin(), A.end());
    rep(m,1,N){
      K = A[m] - A[0];
      if(K==0 || K%2==1) continue;

      rep(i,N+1) ok[i] = 0;
      j = 0;
      rep(i,N) if(!ok[i]){
        while((j <= i) || (j < N && A[j] != A[i] + K) || ok[j]) j++;
        if(j==N) break_continue;
        ok[i] = 1; ok[j] = 2;
      }

      rep(i,N) if(ok[i]==1) res.push_back(A[i] + K/2);
      break;
    }
    return res;
  }
};

Current time: 2024年05月19日03時09分28秒
Last modified: 2022年01月02日03時40分40秒 (by laycrs)
Tags: Competitive_Programming_Incomplete LeetCode
トップページに戻る

Logged in as: unknown user (not login)

ログイン: