LeetCode Weekly Contest 273 3問目 - Intervals Between Identical Elements [2121]

Source

LeetCode Weekly Contest 273
問題文

問題概要

省略

解法

省略

cLay(version 20211231-1)のコード

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

#define main dummy_main
{}
#undef main

ll sm1[1d5+1], sm2[1d5+1], cnt1[], cnt2[];

class Solution {
public:
  vector<ll> getDistances(vector<int>& A) {
    int N = A.size();
    vector<ll> res; ll tmp;
    rep(i,1d5+1) sm1[i] = sm2[i] = cnt1[i] = cnt2[i] = 0;
    rep(i,N){
      sm2[A[i]] += i;
      cnt2[A[i]]++;
    }
    rep(i,N){
      sm2[A[i]] -= i;
      cnt2[A[i]]--;
      tmp = (sm2[A[i]] - cnt2[A[i]] * i) + (cnt1[A[i]] * i - sm1[A[i]]);
      res.push_back(tmp);
      sm1[A[i]] += i;
      cnt1[A[i]]++;
    }
    return res;
  }
};

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

Logged in as: unknown user (not login)

ログイン: