レス書き込み
スレへ戻る
写
レス栞
レス消
プログラミングのお題スレ Part22
PC,スマホ,PHSは
ULA
べっかんこ
公式(スマホ)
公式(PC)
で書き込んでください。
名前
メール
引用切替:
レスアンカーのみ
>>800 > >>799 Rust 愚直にn回まわし > > use itertools::Itertools; // for tuple_windows() > > fn f(init: &str, n: usize) -> String { > let mut list = init.chars().rev().collect::<Vec<_>>(); > for _ in 1..n { > if let Some((pre_index, (_, old))) = list.iter().tuple_windows().enumerate().find(|(_, (pre, cur))| pre > cur) { > let old_index = pre_index + 1; > let (new_index, _) = list.iter().enumerate().find(|(_, cur)| cur > &old).unwrap(); > list.swap(old_index, new_index); > list[..old_index].reverse(); > } > } > list.into_iter().rev().collect() > } > > fn main() { > assert_eq!(f("123456789", 1), "123456789"); > assert_eq!(f("123456789", 2), "123456798"); > assert_eq!(f("123456789", 3), "123456879"); > assert_eq!(f("123456789", 123456), "416589732"); > assert_eq!(f("123456789", 234567), "684753219"); > assert_eq!(f("123456789", 362880), "987654321"); > assert_eq!(f("111222333444", 1), "111222333444"); > assert_eq!(f("111222333444", 2), "111222334344"); > assert_eq!(f("111222333444", 3), "111222334434"); > assert_eq!(f("111222333444", 123456), "222331434114"); > assert_eq!(f("111222333444", 234567), "324424331112"); > assert_eq!(f("111222333444", 369600), "444333222111"); > }
ローカルルール
SETTING.TXT
他の携帯ブラウザのレス書き込みフォームはこちら。
書き込み設定
で書き込みサイトの設定ができます。
・
ULA
・
べっかんこ(身代わりの術)
・
べっかんこ(通常)
・
公式(スマホ)
・
公式(PC)[PC,スマホ,PHS可]
書き込み設定(板別)
で板別の名前とメールを設定できます。
メモ帳
(0/65535文字)
上
下
板
覧
索
設
栞
歴
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.019s