LeetCode Weekly Contest 177 4問目 - Largest Multiple of Three [1363]

Source

LeetCode Weekly Contest 177
問題文

問題概要

省略

解法

省略

cLayversion 20200227-1)のコード

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

#define main dummy_main
{}
#undef main

class Solution {
public:
  string largestMultipleOfThree(vector<int>& A) {
    int i, j, s = 0, cnt[10] = {};
    string res;
    rep(i,A.size()) cnt[A[i]]++;
    rep(i,10) s += cnt[i] * i;

    if(s%3!=0){
      rep(i,10) if(cnt[i] && (s-i)%3==0) break;
      if(i < 10){
        cnt[i]--;
      } else {
        rep(i,10) rep(j,i+1) if((s-i-j)%3==0 && cnt[i] && cnt[j] && (i!=j || cnt[i]>=2)) break_break;
        if(i==10) return "";
        cnt[i]--;
        cnt[j]--;
      }
    }

    s = sum(cnt(10));
    if(s==cnt[0]) cnt[0] <?= 1;
    rrep(i,10) rep(cnt[i]) res += (char)('0'+i);
    return res;
  }
};

Current time: 2024年04月25日16時26分38秒
Last modified: 2020年02月29日15時31分06秒 (by laycrs)
Tags: Competitive_Programming_Incomplete LeetCode
トップページに戻る

Logged in as: unknown user (not login)

ログイン: