LeetCode Weekly Contest 176 2問目 - Product of the Last K Numbers [1352]

Source

LeetCode Weekly Contest 176
問題文

問題概要

省略

解法

省略

cLayversion 20200214-1)のコード

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

#define main dummy_main
{}
#undef main

int fg, cnt;
segtree_Point_Prod<unsigned> t;

class ProductOfNumbers {
public:
  ProductOfNumbers() {
    if(fg==0){
      fg = 1;
      t.malloc(40000);
    }
    t.setN(40000,1,0);
    t.build();
    cnt = 0;
  }


  void add(int num) {
    t.change(cnt++, num);
  }

  int getProduct(int k) {
    return t.getProd(cnt-k, cnt);
  }
};

cLayversion 20200214-1)のコード

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

#define main dummy_main
{}
#undef main

class ProductOfNumbers {
public:
  vector<int> v;
  ProductOfNumbers() {
    v.push_back(1);
  }

  void add(int num) {
    if(num==0){
      v.clear();
      v.push_back(1);
    } else {
      v.push_back(num * v.back());
    }
  }

  int getProduct(int k) {
    if(v.size() <= k) return 0;
    return v[v.size()-1] / v[v.size()-1-k];
  }
};

Current time: 2024年04月25日20時49分48秒
Last modified: 2020年02月16日14時22分40秒 (by laycrs)
Tags: Competitive_Programming_Incomplete LeetCode
トップページに戻る

Logged in as: unknown user (not login)

ログイン: