プログラミングのお題スレ Part22 (859レス)
プログラミングのお題スレ Part22 http://mevius.5ch.net/test/read.cgi/tech/1691038333/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
必死チェッカー(本家)
(べ)
自ID
レス栞
あぼーん
リロード規制
です。10分ほどで解除するので、
他のブラウザ
へ避難してください。
603: デフォルトの名無しさん [sage] 2025/02/13(木) 22:58:07.29 ID:bC7pFAVH >>594 Rust fn f(input: &str, a: u32, b:u32) -> String { let src = format!("{a}{b}"); let dst = if a + b < 10 { format!("{a}{x}{b}", x = a + b) } else { format!("{a}{x}{y}{z}{b}", x = 1, y = 1 + a + b - 10, z = a + b - 10) }; use itertools::Itertools; input.split(&src).join(&dst) } fn main() { assert_eq!(f("123456789", 3, 4), "1237456789"); assert_eq!(f("123456789", 6, 7), "123456143789"); assert_eq!(f("3141592653589793238462643383279502884197169399375105820974944", 9, 7), "3141592653589176793238462643383279502884191767169399375105820917674944"); } http://mevius.5ch.net/test/read.cgi/tech/1691038333/603
604: デフォルトの名無しさん [sage] 2025/02/13(木) 23:47:12.83 ID:bC7pFAVH >>561 Rust fn second_smallest<T: Copy + Ord>(input: &[T]) -> Option<T> { use std::cmp::Ordering::{Equal, Greater, Less}; input .iter() .copied() .fold(None, |state, t| match state { Some((_t0, Some(t1))) if t >= t1 => state, Some((t0, _)) => match Ord::cmp(&t, &t0) { Less => Some((t, Some(t0))), Equal => state, Greater => Some((t0, Some(t))), }, None => Some((t, None)), }) .and_then(|(_t0, t1option)| t1option) } fn main() { assert_eq!(second_smallest(&[4, 5, 1, 7, 1, 2, 8, 9, 2, 7, 1]), Some(2)); assert_eq!(second_smallest(&[1, 1, 1]), None); assert_eq!(second_smallest(&[] as &[i32]), None); } http://mevius.5ch.net/test/read.cgi/tech/1691038333/604
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.053s