プログラミングのお題スレ Part22 (856レス)
プログラミングのお題スレ Part22 http://mevius.5ch.net/test/read.cgi/tech/1691038333/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
レス栞
561: デフォルトの名無しさん [] 2025/02/11(火) 10:54:21.93 ID:E5oVpL7o お題 数列が入力されます ニ番目に小さい数を出力してください 入力:4, 5, 1, 7, 1, 2, 8, 9, 2, 7 出力:2 http://mevius.5ch.net/test/read.cgi/tech/1691038333/561
563: 9 [sage] 2025/02/11(火) 14:53:15.78 ID:mMj2PIa8 >>561 Perl5 $h{$_} = $_ for 4, 5, 1, 7, 1, 2, 8, 9, 2, 7; @s = sort keys %h; print "$s[1]\n"; 実行結果 ~ $ perl 22_561_second.pl 2 Perl5.26以降に付属のList::Utilにはuniq関数があるのでそれを使えば: use List::Util qw(uniq); @s = uniq sort 4, 5, 1, 7, 1, 2, 8, 9, 2, 7; print "$s[1]\n"; http://mevius.5ch.net/test/read.cgi/tech/1691038333/563
565: デフォルトの名無しさん [sage] 2025/02/11(火) 16:37:12.05 ID:WPoAkGuN >>561 ruby https://ideone.com/OI7hWs >>561 octave https://ideone.com/36aKUO >>561 c https://ideone.com/eDmlMM http://mevius.5ch.net/test/read.cgi/tech/1691038333/565
566: デフォルトの名無しさん [sage] 2025/02/11(火) 16:40:21.13 ID:gFwXvlnz >>561 #!ruby puts $stdin.gets.chomp.split(",").map{|e| e.to_i}.uniq.sort[1] http://mevius.5ch.net/test/read.cgi/tech/1691038333/566
568: デフォルトの名無しさん [sage] 2025/02/11(火) 17:48:30.95 ID:7RexIvi8 >>561 lisp https://ideone.com/g6m1EK http://mevius.5ch.net/test/read.cgi/tech/1691038333/568
570: デフォルトの名無しさん [] 2025/02/11(火) 20:45:09.89 ID:hMHygfcC >>561 R https://ideone.com/3beF1j C++ https://ideone.com/A8hp2f それぞれ3通りの方法で、大きなデータでの実行時間を比較 http://mevius.5ch.net/test/read.cgi/tech/1691038333/570
572: 565 [sage] 2025/02/11(火) 23:28:05.14 ID:qmej6t15 >>561 ocaml https://ideone.com/aV59Yd >>561 java https://ideone.com/PdgusX http://mevius.5ch.net/test/read.cgi/tech/1691038333/572
591: デフォルトの名無しさん [sage] 2025/02/12(水) 19:12:16.26 ID:FZJ50oR3 >>561 lisp (sbcl) https://ideone.com/Bct7bC >>561 lisp (clisp) https://ideone.com/yqfmzh clispだと何故かsort版の方が速い http://mevius.5ch.net/test/read.cgi/tech/1691038333/591
592: デフォルトの名無しさん [sage] 2025/02/12(水) 20:45:54.96 ID:JML0DDov >>561 ruby https://ideone.com/svMSSw >>561 sqlite https://ideone.com/W02Q5r http://mevius.5ch.net/test/read.cgi/tech/1691038333/592
593: デフォルトの名無しさん [] 2025/02/12(水) 22:44:39.40 ID:Qtl/TEf6 >>561, 571 >>570のC++のf3をint型の最大値を含むデータにも対応させた。 C#にはint?型があるのですっきり書けるが、 https://ideone.com/oRhDL1 C++ではまあまあすっきり書くにはintへのポインタを返すしかないか。 https://ideone.com/xYnTSD (該当値が複数の位置に存在する場合にそれらのうちのどれへのポインタを返すかについては こだわらないものとする) http://mevius.5ch.net/test/read.cgi/tech/1691038333/593
601: デフォルトの名無しさん [sage] 2025/02/13(木) 20:45:01.39 ID:KiG3F5Wd >>561 c https://ideone.com/ZyWoVM >>594 ruby https://ideone.com/gp9Fvp http://mevius.5ch.net/test/read.cgi/tech/1691038333/601
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
621: デフォルトの名無しさん [] 2025/02/15(土) 21:06:37.89 ID:rssRTGdz >>561 C++ https://ideone.com/bQBKIM C#のヌル許容型と同じ挙動のnullable型を自作し、>>593のC#のmin2関数をジェネリック化、 ポインタ参照化して移植した。 https://ideone.com/p2LNC9 593のC++のmin2関数と実行速度を比較する¹と30%ほど遅い。文字列型や可変長数値型と 違って最大値が存在する固定長数値型では、それを利用するf593の方が良い。 ── ¹ Microsoft C++では100回繰り返しテストが最適化され1回しか実行されない http://mevius.5ch.net/test/read.cgi/tech/1691038333/621
832: デフォルトの名無しさん [sage] 2025/09/06(土) 23:05:19.87 ID:Z/aFZPi6 >>561 scheme (chicken 4.13) https://ideone.com/lCgs9s http://mevius.5ch.net/test/read.cgi/tech/1691038333/832
833: 832 [sage] 2025/09/07(日) 12:29:41.48 ID:O1zDlKW9 >>561 scheme (chicken 4.13) https://ideone.com/8VZv71 ・m1m2を不必要にリストにしてたのを廃止 http://mevius.5ch.net/test/read.cgi/tech/1691038333/833
834: 833 [sage] 2025/09/07(日) 14:22:59.56 ID:O1zDlKW9 >>561 scheme (chicken 4.13) https://ideone.com/EsJWtG ・letを自然な位置に移動 http://mevius.5ch.net/test/read.cgi/tech/1691038333/834
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
1.500s*