1 条题解
-
1
注意到
每个字符只出现一次而且还不能改变顺序
那么问题来了
那咱们遍历数组
用一个哈希存储这个数字有没有出现过
如果出现过就跳过,没有就加入到ans数组里
最后输出ans数组即可
C++
#define AC ios::sync_with_stdio(false),cin.tie(0),cout.tie(0) #define ll long long #define vec vector ll n; int main() { AC; cin>>n; unordered_set<ll>hx; vec<ll>ans; for(int i=0;i<n;++i) { ll x; cin>>x; if(hx.find(x)==hx.end()) { hx.insert(x); ans.push_back(x); } } for(int i=0;i<(int) ans.size();++i) cout<<ans[i]<<' '; return 0; }Python
import sys arr=list(map(int,sys.stdin.read().split())) n=arr[0] s=set() res=[] for i in range(1,n+1): x=arr[i] if x not in s: s.add(x) res.append(str(x)) print(' '.join(res))
- 1
信息
- ID
- 1168
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 3
- 标签
- 递交数
- 7
- 已通过
- 3
- 上传者