![Cover Image for [Boot camp for Beginners] C - Exception Handling [Rust]](https://i.imgur.com/bM0eCRRh.webp)
[Boot camp for Beginners] C - Exception Handling [Rust]
概要
AtCoder Problems: Boot camp for Beginners をRustで解いてみる
学んだことmemo
- 2*10^5が最大の個数
- 要素ごとに、自身を filter して max を求めて出力すればいいが、それだと O(n^2)になるので遅い
- 自身を除いた最大値だと、基本的には a の最大値しか出力されない
- 例外は ai 自身が最大値のとき
- 最大値が複数あれば、最大値を出力しても問題ない
- 最大値が単一であれば、最大値の次に大きい数を出力する必要がある
 
- ということで
- 事前に最大値とその次に大きい数を求めておく
- clone した配列を sort して、last と その一つ前を取ればいい
 
- 合わせて最大値の個数も求めておく
- これは max で filter して count しておけばいい
 
- これで計算量は O(n)に収まるはず
 
- 事前に最大値とその次に大きい数を求めておく
- この方法で解けた
- 今回は計算量に引っ掛からなかった
 
[Boot camp for Beginners] C - Exception Handling [Rust]