2024-02-08 bouzuya/firestore-structured-query 0.6.1, 0.6.2 / PAST #4 D
bouzuya/firestore-structured-query 0.6.1 および 0.6.2 をつくった。
- Order に Clone などの実装を追加した
- ドキュメントを追加した
CHANGELOG tests は https://github.com/bouzuya/firestore-structured-query/blob/427f495dd2db075e6eed53c7b6ee80e6e68262e0/tests/v0_6_1.rs にある。
ドキュメントは https://docs.rs/firestore-structured-query にある。
サンプルコードがほとんどではあるけどそれなりの量のドキュメントを書いている。はっきり言ってドキュメントのせいでコードを書きづらい。
ただ利用者側からするとドキュメントコメントに使用例があると嬉しいのは確かだし、テストコードをいくら書いてもほとんどの人はリポジトリまで見に来ない。テストを兼ねた使用例を重視するのは良さそうだと思っている。実行時間に難があることや↑のようにコメントに埋もれてしまうことから利用者はともかく開発者の体験としてはあまり良くないけど……。
CHANGELOG tests と勝手に読んでいる CHANGELOG っぽいテストも引き続き書いている。しばらくは継続してみるつもりで居る。
同僚が技術記事を書いている。記事とサンプルコードのレビューをした。サンプルコードがまともに動かないのでいくつかの Pull Request をするつもりで居る。
PAST #4 第四回 アルゴリズム実技検定 過去問
- D - 分身
https://atcoder.jp/contests/past202010-open/tasks/past202010_d
- 提出: https://atcoder.jp/contests/past202010-open/submissions/50102366
- 左端にある
.
の個数は最小の x 。右端にある.
の個数は最小の y 。 - あとは
#
と#
の間にある.
の個数を左に進めるか右に進めれば良い - x と y の大きい側に、
#
と#
の間にある.
の個数から x と y の小さい側の個数分引いたものを求めてその最大値分だけ進めたことにした
use std::collections::VecDeque;
use proconio::input;
fn main() {
input! {
_n: usize,
s: String,
};
let mut ss = s.split('#').collect::<VecDeque<&str>>();
let min_x = ss.pop_front().unwrap().len();
let min_y = ss.pop_back().unwrap().len();
let max = ss.iter().fold(min_x.max(min_y), |acc, x| {
acc.max(x.len().saturating_sub(min_x.min(min_y)))
});
let (x, y) = if min_x > min_y {
(max, min_y)
} else {
(min_x, max)
};
println!("{} {}", x, y);
}
今日のコミット。
- rust-atcoder 1 commit
- axum-ddd-rust 1 commit
- firestore-structured-query 17 commits
- 0.6.2
- Add doc for to_value
- Run
cargo update
- 0.6.1
- Change rustdoc settings
- Fix doc tests
- Add doc for IntoValue
- Add doc for Query::where
- Add doc for Query::start_at
- Add doc for Query::start_after
- Add doc for Query::select
- Add doc for Query::order_by
- Add doc for Query::offset
- Add doc for Query::limit
- Add doc for Query::end_before
- Add doc for Query::end_at
- Add doc for Query::collection_group