2018.11.1403:26:49.182 ArrayDeleteValue (BTCUSD,M15) вариант Pastushak: Контрольная сумма = 496575839; элементов - 998974; время выполнения = 131158 микросекунд
2018.11.1403:26:49.185 ArrayDeleteValue (BTCUSD,M15) вариант Korotky: Контрольная сумма = 496575839; элементов - 998974; время выполнения = 2431 микросекунд
2018.11.1403:26:49.188 ArrayDeleteValue (BTCUSD,M15) вариант Fedoseev: Контрольная сумма = 496575839; элементов - 998974; время выполнения = 1809 микросекунд
2018.11.1403:26:49.190 ArrayDeleteValue (BTCUSD,M15) вариант Semko: Контрольная сумма = 496575839; элементов - 998974; время выполнения = 785 микросекунд
2018.11.1403:26:49.194 ArrayDeleteValue (BTCUSD,M15) вариант Pavlov: Контрольная сумма = 496575839; элементов - 998974; время выполнения = 2839 микросекунд
2018.11.1403:26:49.199 ArrayDeleteValue (BTCUSD,M15) вариант Nikitin: Контрольная сумма = 496575839; элементов - 997971; время выполнения = 4049 микросекунд
2018.11.1403:26:49.204 ArrayDeleteValue (BTCUSD,M15) вариант Vladimir: Контрольная сумма = 496575839; элементов - 998974; время выполнения = 3888 микросекунд
2018.11.1403:26:49.212 ArrayDeleteValue (BTCUSD,M15) вариант Peter: Контрольная сумма = 496575839; элементов - 998974; время выполнения = 7597 микросекунд
template <typename T>
int arrayFilter3(T &arr[], const T x) // вариан Kuznetsov
{
int i=0;
int j=ArraySize(arr)-1;
for(;;) {
while(arr[i]!=x && i<j) i++;
while(arr[j]==x && i<j) j--;
if (i<j) {
arr[i++]=arr[j--];
} elsebreak;
}
ArrayResize(arr,j+1);
return j+1;
}
2018.11.1403:48:29.572 ArrayDeleteValue (USDRUB,M1) вариант Pastushak: Контрольная сумма = 496206996; элементов - 999002; время выполнения = 131929 микросекунд
2018.11.1403:48:29.576 ArrayDeleteValue (USDRUB,M1) вариант Korotky: Контрольная сумма = 496206996; элементов - 999002; время выполнения = 2411 микросекунд
2018.11.1403:48:29.579 ArrayDeleteValue (USDRUB,M1) вариант Fedoseev: Контрольная сумма = 496206996; элементов - 999002; время выполнения = 1839 микросекунд
2018.11.1403:48:29.581 ArrayDeleteValue (USDRUB,M1) вариант Semko: Контрольная сумма = 496206996; элементов - 999002; время выполнения = 782 микросекунд
2018.11.1403:48:29.585 ArrayDeleteValue (USDRUB,M1) вариант Pavlov: Контрольная сумма = 496206996; элементов - 999002; время выполнения = 2813 микросекунд
2018.11.1403:48:29.590 ArrayDeleteValue (USDRUB,M1) вариант Nikitin: Контрольная сумма = 496206996; элементов - 997969; время выполнения = 4200 микросекунд
2018.11.1403:48:29.596 ArrayDeleteValue (USDRUB,M1) вариант Vladimir: Контрольная сумма = 496206996; элементов - 999002; время выполнения = 3597 микросекунд
2018.11.1403:48:29.604 ArrayDeleteValue (USDRUB,M1) вариант Peter: Контрольная сумма = 496206996; элементов - 999002; время выполнения = 7684 микросекунд
2018.11.1403:48:29.606 ArrayDeleteValue (USDRUB,M1) вариант Kuznetsov: Контрольная сумма = 496206996; элементов - 999002; время выполнения = 681 микросекунд
2018.11.1404:20:26.063 ArrayDeleteValue (USDRUB,M1) вариант Pastushak: Контрольная сумма = 7090.600736767353; элементов - 999003; время выполнения = 132291 микросекунд
2018.11.1404:20:26.067 ArrayDeleteValue (USDRUB,M1) вариант Korotky: Контрольная сумма = 7090.600736767353; элементов - 999003; время выполнения = 2322 микросекунд
2018.11.1404:20:26.071 ArrayDeleteValue (USDRUB,M1) вариант Fedoseev: Контрольная сумма = 7090.600736767353; элементов - 999003; время выполнения = 1831 микросекунд
2018.11.1404:20:26.074 ArrayDeleteValue (USDRUB,M1) вариант Semko: Контрольная сумма = 7090.600736767353; элементов - 999003; время выполнения = 773 микросекунд
2018.11.1404:20:26.079 ArrayDeleteValue (USDRUB,M1) вариант Pavlov: Контрольная сумма = 7090.600736767353; элементов - 999003; время выполнения = 2879 микросекунд
2018.11.1404:20:26.085 ArrayDeleteValue (USDRUB,M1) вариант Nikitin: Контрольная сумма = 7093.903216084301; элементов - 998017; время выполнения = 3605 микросекунд
2018.11.1404:20:26.090 ArrayDeleteValue (USDRUB,M1) вариант Vladimir: Контрольная сумма = 7090.600736767353; элементов - 999003; время выполнения = 3622 микросекунд
2018.11.1404:20:26.100 ArrayDeleteValue (USDRUB,M1) вариант Peter: Контрольная сумма = 7090.600736767353; элементов - 999003; время выполнения = 7252 микросекунд
2018.11.1404:20:26.102 ArrayDeleteValue (USDRUB,M1) вариант Kuznetsov: Контрольная сумма = 7085.49357433088; элементов - 999003; время выполнения = 691 микросекунд
同じToRで2つのコードバリアントを比較します。
и:
これは、同じ人が1時間強の間隔をおいて書いたものなのでしょうか?筆跡に疑問あり )アレクセイ、若い才能を殺すのか...。
このマーケッターは5年間売れ始められないでいる...そしてプログラマーとしてはもっとダメだと言っているのだろう
ごめん、殺すつもりはなかったんだ。
:-) もし、順番を守ろうとしなければ、時間はO(1)、すべてのループのステップ数の合計=配列の大きさ
コーディングするのが面倒くさい :-)
1.左から3つ目までを検索します。
2. もし見つかったら、右から左へ3でないものを探し、3の場所にコピーする。
が交差するまで続け、コピーした数だけ配列を切り詰める。
理想は「バブルソート」のちょうど1/2です :-) もしコピーの代わりにスワップを行えば、出力は部分配列になります(3/3がすべて右側に移動します)。
すべてのループの総ステップ数=配列の大きさは、O(n)の複雑さです。
入力配列がソートされている場合、二項探索により 問題を解く。
計算量は平均でO(log(n))、最悪でO(n)である。
Peterのバージョンはまだコツがつかめません。
かなりコンパクトにまとまっていて、ちゃんと動作までする。ピーターに拍手
しかし、スピードという点では端から2番目です。このスレ主の速度可変で全く使えないオリジナルを除けば端から1位か。
どのようにテストしたのですか?
テストはどのように行っているのですか?
コードを勉強する。
コーディングするのが面倒くさいとヤバい。
全然怠けてるわけじゃないんだけど、MTはVDS上だけで、実験しないんだよね。
それについて
+- 1 :-) 数日後にサマーキャンプから戻ってくるので、チェックしてみますね...。
ps. さらに、このコードでは、終了時に余分なループエントリがあります...ささいなことですが、これは取り除くことができます
全然怠けてるわけじゃないんだけど、MTはVDS上だけで、実験しないんだよね。
それについて
+- 1 :-) 数日後に田舎から帰ってきますので、チェックしてみますね・・・。
ps. さらに、このコードでは、最後にループに余分な入力があります...ささいなことですが、取り除くことができます
ブラボー!いくつかのエラーを修正した後、ArrayCopyを使わなくても、私を台座からたたき落としたかもしれませんね。チェックメイト:))
ブラボー!いくつかのエラーを修正した後、ArrayCopyを使わなくても、私を台座から叩き落としましたね。チェックメイト:))
出力配列がかなり違うので、正確にはそうではないのですが、すでにミックスされています。でも、とにかくカッコイイ!
もちろん、見積書を扱う場合、これはうまくいきません。再び表彰台に立つことができました。))
チェックサムの計算方法を変更しました。全要素の単純合計ではなくなり、(要素値)/(要素番号)の合計となる。
そして、こんなものが出来上がりました。