プログラミングのお題スレ Part22 (854レス)
プログラミングのお題スレ Part22 http://mevius.5ch.net/test/read.cgi/tech/1691038333/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
必死チェッカー(本家)
(べ)
自ID
レス栞
あぼーん
612: デフォルトの名無しさん [] 2025/02/15(土) 00:39:27.81 ID:rssRTGdz >>608 PowerShell function f($s) { -join $( foreach ($i in 0..($s.length - 2)) { $s[$i] if ($s[$i] -ne $s[$i + 1]) {continue} if ($s[$i] -lt [char]"A" -or $s[$i] -gt [char]"Z") {continue} ([string]$s[$i]).ToLower() } $s[$i + 1] ) } "abcDDefGG", "abcDDDfGG" |% {"$_ → $(f $_)"} [実行結果] abcDDefGG → abcDdDefGgG abcDDDfGG → abcDdDdDfGgG http://mevius.5ch.net/test/read.cgi/tech/1691038333/612
620: デフォルトの名無しさん [] 2025/02/15(土) 21:05:44.70 ID:rssRTGdz >>612は文字列長が1文字の場合にバクがあった。PowerShellの0..-1は空(から)ではなく0, -1になるのが 原因 (Rの0:-1も同様)。修正するには、fの最初に if ($s.length -lt 2) {return $s} を挿入する。 http://mevius.5ch.net/test/read.cgi/tech/1691038333/620
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
623: デフォルトの名無しさん [] 2025/02/15(土) 22:00:12.34 ID:rssRTGdz >>622 >>593のC++プログラムの実行結果を参照。入力数列にINT_MAXが含まれる場合でも問題ない。 http://mevius.5ch.net/test/read.cgi/tech/1691038333/623
625: デフォルトの名無しさん [] 2025/02/15(土) 22:24:28.09 ID:rssRTGdz >>624 >>621の速度比較テストに>>570のf3も追加 https://ideone.com/scnfdu ポインタで持つf593との比で、整数で持つf570は6%速いだけ。一方、null許容型のf621は29%も遅い。 最大値が存在する型ではそれを利用する方が良いという結論に変わりはない。 http://mevius.5ch.net/test/read.cgi/tech/1691038333/625
626: デフォルトの名無しさん [] 2025/02/15(土) 22:29:41.23 ID:rssRTGdz まあ、同じ値の要素が大量に存在する入力データではf570は遅くなるが、平均的な速度はf570の方が速い。 http://mevius.5ch.net/test/read.cgi/tech/1691038333/626
627: デフォルトの名無しさん [] 2025/02/15(土) 22:31:16.05 ID:rssRTGdz >>626はf570じゃなくてf593だった。 http://mevius.5ch.net/test/read.cgi/tech/1691038333/627
629: デフォルトの名無しさん [] 2025/02/15(土) 23:34:59.77 ID:rssRTGdz >>628 返しえないでしょ。 http://mevius.5ch.net/test/read.cgi/tech/1691038333/629
632: デフォルトの名無しさん [] 2025/02/15(土) 23:52:31.08 ID:rssRTGdz >>630 >>621に書いた通り、C#のヌル許容型T? (Nullable<T>のエイリアス) の挙動に従っただけだから。 文句があるならMicrosoftに言ってくれ。 http://mevius.5ch.net/test/read.cgi/tech/1691038333/632
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
1.284s*