TopCoderOpen Algorithm 2014 Round 1C EASY - Unique

Source

TopCoderOpen Algorithm 2014 Round 1C EASY (250pt)
Problem Statement

問題概要

$N$ 文字のアルファベッド小文字のみからなる文字列 $S$ が与えられる.
$S$ の中に $2$ 回以上出てくる文字について,$1$ 回目以外を全部削除する問題.

解法

最初から見ていって,出てきた文字を覚えておいて,まだ出てきていない文字のみを連結していく.

C++によるスパゲッティなソースコード

#include<bits/stdc++.h>
using namespace std;

#define REP(i,a,b) for(i=a;i<b;i++)
#define rep(i,n) REP(i,0,n)

class Unique {
public:
string removeDuplicates(string S) {
  int i;
  string res;
  int occ[1000] = {};

  rep(i,S.size()){
    if(occ[S[i]]) continue;
    occ[S[i]] = 1;
    res += S[i];
  }

  return res;
}

}

Current time: 2017年07月23日17時33分07秒
Last modified: 2014年04月27日05時22分20秒 (by laycrs)
Tags: Competitive_Programming TopCoder TopCoderOpen TCO_Algorithm TCO_Algorithm_2014 TCO_Algorithm_2014_1C
トップページに戻る

Logged in as: unknown user (not login)

ログイン: