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

リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
29: 9 [sage] 2023/08/11(金) 08:37:47.88 ID:4P/NDj/+(2/2) AAS
O(nlog(n))がダメかどうかは、データの規模および実行時間による
226
(1): 225 [sage] 2024/02/06(火) 22:07:13.88 ID:6T/Xuns0(1) AAS
>>206
206(23): デフォルトの名無しさん [] 2024/02/02(金) 06:41:15.23 ID:CC6U77IS(1) AAS
お題
入力データをグループ分けして出力せよ

入力データの、= の左右は同じグループである。
出力する順番は、入力データの出現順とする

UnionFind を使えば良いかも

入力データ
["a1=a2", "b1=b2", "b3=b2", "c1=c2", "e1=e2",
"a3=a4", "c3=c4", "e1=e3", "a2=a4", "c3=c1",
"b3=a4", "c2=d1", "a4=a5", "d2=c1", "b4=b3", "d3=c3"]

出力
[["a1", "a2", "b1", "b2", "b3", "a3", "a4", "a5", "b4"],
["c1", "c2", "c3", "c4", "d1", "d2", "d3"],
["e1", "e2", "e3"]]

Ruby で、UnionFind を自作してみた。
下はユニットテストです

外部リンク:paiza.io
外部リンク:paiza.io
rust
外部リンク:ideone.com
>>225
225(1): 223 [sage] 2024/02/05(月) 23:51:15.55 ID:tt/WRhkt(2/2) AAS
>>206 rust
外部リンク:ideone.com
>>223の移植
・色々迷いアリ
 .map(|k| *h.get(k).unwrap())のところは当初
 .map(|k| h.get(k).map(|&i| i)).flatten()などとしていたが
 正解がわからないので迷った挙げ句に短く書けるほうを採用
・これに限らずrustは不慣れなので色々珍妙なことをしている可能性アリ
から若干の修正
・不必要なループ回数を訂正
・二重forを一重に(でもかえって煩雑に)
・まだまだ迷いアリ
 .map(|k| *h.get(k).unwrap())は結局
 .flat_map(|k| h.get(k)).cloned()に置き換え
 こっちのほうが個人的にはスッキリ感アリ

>>206 rust
外部リンク:ideone.com
・上記のmutナシ版
・パフォーマンス的な観点もナシ
250
(1): デフォルトの名無しさん [sage] 2024/02/17(土) 20:51:00.88 ID:nUY+CX2J(2/3) AAS
>>234
234(27): デフォルトの名無しさん [sage] 2024/02/14(水) 09:32:06.19 ID:JjlrBdlD(1) AAS
お題:数値が入力されるのでその数値に最も近い回分数を出力せよ
回分数とは回分になっている数(負数含まず)のことである
最も近い回分数が2つある場合は2つとも出力せよ

入力 0
出力 0

入力 17
出力 22

入力 100
出力 99
出力 101
octave
外部リンク:ideone.com
292
(1): デフォルトの名無しさん [] 2024/02/27(火) 22:30:42.88 ID:BJV11H6M(1) AAS
>>282
282(16): ◆QZaw55cn4c [sage] 2024/02/24(土) 14:25:41.40 ID:NZEL8Kud(1) AAS
異なる自然数 a, b (a > b) における a^3 - b^3 を「a, b の三乗差」と呼ぶことにする。
異なる5通りの組(a, b) (c, d) ... (j, k) について三乗差がすべて相等しいとき
その組(a, b)...(j, k) および三乗差自体を求めよ
異なる6通りの組で三乗差が相等しい場合があるかも検討せよ
下三角行列の各列内の要素は昇順で既に並んでいるのに、>>290
290(2): デフォルトの名無しさん [] 2024/02/26(月) 22:18:39.21 ID:CjcYgBx5(1) AAS
>>282
>>289と似た手順でC++
外部リンク:ideone.com

Rではソートする前に重複値だけを抽出しているが、C++のunique関数はソート済みデータにしか
使えないので使っていない。
は下三角行列の全要素を
ソートして無駄なので、列のマージに変更(要するにマージソートを途中段階から開始)
したら少し速くなった。
外部リンク:ideone.com

n = 10000でも5秒以内に終わった。
外部リンク:ideone.com
589: 9 [sage] 2025/02/12(水) 00:33:57.88 ID:yw0CaA/O(4/4) AAS
ここはある意味、回答のコードでもって語るスレだからな
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.045s