[過去ログ] プログラミングのお題スレ Part15 (1002レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
943: 2019/11/12(火)21:37 ID:+gLjUv3x(1) AAS
>>941
処理データ量が少なく計算効率を考慮しなくて良いなら、Rで簡潔に書ける。
外部リンク:ideone.com

効率が求められるなら、Cで二分探索の変形版だな。
外部リンク:ideone.com
944
(2): 2019/11/12(火)22:38 ID:SyoIDDRx(1) AAS
windowsのロングパス対応の重複ファイル検索するコードない?
945: 2019/11/13(水)04:07 ID:eXHRJefh(1) AAS
>>941 Pharo/Squeak Smalltalk

| fn |

fn := [:m |
| table |
table := #(98 100 198 200 250 298).
table detectMin: [:x | (x - m) abs]
].

fn value: 50. "=> 98 "
fn value: 195. "=> 198 "
946: 2019/11/13(水)14:07 ID:9sxFrKBI(1) AAS
>>941
外部リンク:ideone.com
C++。多分動いてるけど、境界線系のエラーハンドリングは適当。
947: 2019/11/13(水)15:30 ID:EqcpRCSG(1) AAS
どう考えても線形探索の方が簡単で速い
1回だけなら
948: 2019/11/13(水)18:24 ID:utJBi2wY(1) AAS
>>941 Lua
function f(a, x)
local res = a[1]
for i = 2, #a do
if math.abs(res - x) > math.abs(a[i] - x) then
res = a[i]
end
end
return res
end
949: ◆QZaw55cn4c 2019/11/13(水)20:03 ID:ESFhNQze(1) AAS
>>944
2chスレ:tech
950: 2019/11/13(水)20:28 ID:6mLuLK4e(1) AAS
>>941 octave
外部リンク:ideone.com
951: 2019/11/13(水)20:40 ID:H1DP2m/6(1) AAS
>>944
>>1002
952: 2019/11/13(水)20:48 ID:CMaH4qd1(1/2) AAS
>>941
C++ならSTLのequal_rangeを使えば、二分探索のコードを自前で書かずに済む。
外部リンク:ideone.com

この例の条件でしか判定しないなら、5つの定数値との比較にするのが一番簡単で
速そうだな。
外部リンク:ideone.com
953: 2019/11/13(水)21:39 ID:Fqkv69gY(1) AAS
なんで順番に5回も比較してんの?
954: 2019/11/13(水)21:47 ID:kE3A4AyF(1) AAS
10回比較するわけにはいかないからでしょ
955
(1): 2019/11/13(水)21:53 ID:RzCRvdkP(1/4) AAS
まずは199との比較では?
あとは範囲を絞ったテーブルとか

int全てをカバーするテーブルも
intが32bitな64bit環境なら一応は可能
956: 蟻人間 ◆T6xkBnTXz7B0 2019/11/13(水)22:09 ID:SHPlbPC2(1) AAS
お題: 自動塗り絵。

白地に黒い線で図形が描かれているモノクロ画像が与えられる。
白い領域をそれぞれ適当な単色で塗りつぶせ。可能ならOpenCVを使ってもいい。
957: 2019/11/13(水)22:51 ID:RzCRvdkP(2/4) AAS
ペイントブラシ + スクリプト
で出来そう
958: 2019/11/13(水)23:03 ID:CMaH4qd1(2/2) AAS
>>955
「一番速い」ではなく「一番簡単で速い」だからね。可読性とかバグの
混入しにくさとかも考えると、順番に5回比較するのが一番良いだろ。
特に 2chスレ:tech への
回答としては、最も適している。
959: 2019/11/13(水)23:40 ID:RzCRvdkP(3/4) AAS
一番速くもないし一番簡単でもない

一番「簡単で速い」?
簡単と速いは相反するので一番なんて無い
960: 2019/11/13(水)23:42 ID:RzCRvdkP(4/4) AAS
凡人が安易に「一番」とか言わない方が良いよ
961: 2019/11/14(木)01:06 ID:4AhPUV/Y(1) AAS
俺が一番
962: 2019/11/14(木)06:15 ID:BnXMw1SX(1) AAS
>>941 Io
f:=method(a,x,
a map(v,list((v-x)abs,v))min last
)
d:=list(98,100,198,200,298)
f(d,120) println
実行結果
100
1-
あと 40 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.021s