プログラミングのお題スレ Part22 (860レス)
前次1-
抽出解除 レス栞

645
(1): デフォルトの名無しさん [sage] 2025/02/17(月) 20:58:11.16 ID:UxhkW11K(1) AAS
>>640
640(10): デフォルトの名無しさん [sage] 2025/02/17(月) 13:08:08.60 ID:lz3iaMcC(1) AAS
お題:ランダムな数列が与えられる。隣り合う数字が偶数同士の時、あいだに0を。奇数同士の時は1を挿入し、それ以外は何も挿入しない

In < 123346
Out > 12313406
 Rust

fn f(input: &[u8]) -> Vec<u8> {
 input.windows(2).fold(Vec::new(), |mut vec, w| {
  if vec.is_empty() {
   vec.push(w[0]);
  }
  if (w[0] ^ w[1]) & 1 == 0 {
   vec.push(w[0] & 1 + b'0');
  }
  vec.push(w[1]);
  vec
 })
}

fn main() {
 assert_eq!(f(b"123346"), b"12313406");
 assert_eq!(f(b"12333468"), b"123131340608");
}
646: デフォルトの名無しさん [] 2025/02/18(火) 10:32:01.38 ID:Spp0fdd/(1) AAS
>>645
そうやればいいのか、なるほどね
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 1.463s*