プログラミングのお題スレ 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
>>206206(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から若干の修正
・不必要なループ回数を訂正
・二重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
>>234234(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
>>282282(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は下三角行列の全要素を
ソートして無駄なので、列のマージに変更(要するにマージソートを途中段階から開始)
したら少し速くなった。
外部リンク: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