例えば下記の様な1~50までの数値があったとします。
1,5,9,10,10,10,10,15,20,21,22,23,25,31,32,39,50
この中から主要な数値を検出してそれらに順位を付けたいと思います。
順位 該当数値 理由
1位: 10 4個の同一数字がある為
2位: 20~23 連続して並んでいる為
3位: 31,32 連続して並んでいるが上の例に比べて連続数が少ない為
1.実際に扱う数値は約700~1500程度ですが、制限はありません。
2.数値の量(配列数)は1000個程度です。
3.プログラム(C#)で結果を算出します。
4.順位の境界は明確ではありませんが、実際の値を見ながら決めたいと思います。
5.与えられる数値は時間と共に変動し、新しい数値が入るとその分古い数値が排除されます。
6.新しい数値は不定ですが、その都度ソート処理をして昇順に並び替えます。
7.上記例で、同一順位が複数あった場合は例えば1位が3個などの答えとします。
(該当する順位が0の場合も有りです)
上記を実現する為の考え方や手順などを教えて頂けないでしょうか。
A 回答 (7件)
- 最新から表示
- 回答順に表示
No.6
- 回答日時:
ゴールが見えてきましたね、あと一歩です
どの様に数値が発生するのか分かりませんが、次のケースのルールを決めましょう
1,8,2,5,4,1,6,5,8,1,7,2,9,9,9,3,3,3,
1が三つ、3が三つ、9が三つあるがどの順位を上にするか
同じく1,2,3と4,5,6の様に同数の連番がある場合の順位のつけ方
この回答への補足
>1が三つ、3が三つ、9が三つあるがどの順位を上にするか
この場合は「3つとも1位」となります。
3つの中で順位を付ける必要はありません。これらは同レベルで1位です。
>同じく1,2,3と4,5,6の様に同数の連番がある場合の順位のつけ方
こちらも同様に「2つとも2位」となります。
更に例えば21,22, 26,27, 31,32, 35,36の場合は「4つとも3位」となります
全ての順位において、それらが複数個存在しても構いません。
No.5
- 回答日時:
>境界は実際のデータ(リアルタイムに変動)を見て決めたいと思いますが
これが障壁です
こんな事を言ってったら、ルールは決まらない
a)1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8
1,1や2,2などの同数を優先するか、1~8の連番を優先するか
b)1,1,2,2,3,3,4,4,11,12,13,14,15
二つ有る4連続と、5連続、どちらが優先か
c)1,1,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40
2こ同数と20連番、どちらを優先するか
d)1,1,1,1,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40
4こ同数と20連番、どちらを優先するか
とにかく、ルールを矛盾のない様に文書化する様に頭の中を整理するべきです
これは貴方か、この問題の本質を知ってる人しか考えられない
この回答への補足
>境界は実際のデータ(リアルタイムに変動)を見て決めたいと思いますが
すみません。この文章は撤回します。無視して下さい。
1,1や2,2などの同数を優先するか、1~8の連番を優先するか
↑
同数を優先します。
二つ有る4連続と、5連続、どちらが優先か
↑
5連続が優先です。(多い方)
2こ同数と20連番、どちらを優先するか
↑
2こ同数が優先です。
4こ同数と20連番、どちらを優先するか
↑
4こ同数が優先です。
基本、同数が1位、連続は多い方が優先です。
共に数が多い方(数値ではありません。同数の数、連続の数です)が優先です。
No.4
- 回答日時:
では、この場合は
1,1,1,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30
あるいは、こんな場合
1,3,5,7,9,10,12,14,16,18,20,21,22
この回答への補足
1,1,1, 10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30
↑
この場合「1」が重なっていますので1位となり(仮に1が2個の場合も4個以上の場合も同じです)、10~30の「領域」が2位となります。
1,3,5,7, 9,10, 12,14,16,18, 20,21,22
↑
重なっている数値はありませんので、この中には1位は存在しません。
20~22が3つ連続ですので2位、9,10が3位となります。p
(歯抜けが存在すれば「連続」の定義から外します)
基本的に「重複した数値」が1位、連続した数値が多い(2位)、少ない(3位)で順位が決まると言う考え方です。
ここで、例えば2個の数値が連続の領域を2位、20個の数値が連続の領域を3位としてしまうと2位と3位の格差が大き過ぎるとも思えますので、境界は実際のデータ(リアルタイムに変動)を見て決めたいと思いますが、取り敢えずは先述の法則で考えたいと思います。
No.3
- 回答日時:
では、次の場合の順位を教えてください
7,8,8,8,8,9,10,10,10,11,12,20,21,22,23,24
7,8,9,10,11,12・・・6連続
8,8,8,8・・・4個同数
20,21,22,23,24,・・・5連続(単独数値だけでの最長)
返信、有り難うございます。
1位: 8,8,8,8・・・4個同数
2位: 7,8,9,10,11,12・・・6連続
3位: 20,21,22,23,24,・・・5連続(単独数値だけでの最長)
同数の集中が最も重みがあり、分散するほど軽い(重要性なし)と判断します。
連続値は連続している数が多い程重要な「領域」となります。
例えばこれに25,25,25,25が加われば1位が「8」と「25」の2個になります。
更に26,27,28,29,30,31,32(7連続)が加わればこれが2位に昇格し、上記例の2位が3位に降格、元の3位は除外されます。
尚、数値の大きさは8であれ、25であれ全く意味を持ちませんので、8と25は同レベルの扱いとなります。
No.2
- 回答日時:
質問者が主要なとか重みとか言ってる内容を数学的に(プログラムとして)定義することが第1歩でしょう。
それが未定であれば
スペクトルというか、ヒストグラムを5.の1ステップ以内に描きだしていくのが基本で、
ソートした結果を横軸に数字の大きさ、縦軸に頻度をとって示した図と併用して観察しながら考えるのが
妥当なところでしょう。
回答、どうも有り難うございました。
う~ん、何か難しそうですねぇ。
質問内容自体、漠然としているのは自覚しているのですが、「目から鱗」的なヒントがあればと思って投稿したのですがちょっと考えが甘かった様ですね。
配列の先頭から「同一の数値が続いているか」「連続した数値がいくつあるか」を力任せに検索していくのが手っ取り早いのでしょうか。
もっとスマートな方法があればと思ったのですが…
No.1
- 回答日時:
4.順位の境界は明確ではありませんが、実際の値を見ながら決めたいと思います。
このルールを明文化してください
現在では、「数字列を見た感じで決める」がルールです
曖昧すぎて実現できません
多分、同じ数字列を異なる日に見ると答えが違うでしょう
こんな答えになるかも知れない
順位 該当数値 理由
1位: 10 4個の同一数字がある為
2位: 31,32 連続して並んでいる最大の数
3位: 20~23 連続して並んでいるが上より数値が小さい
早速の回答、有り難うございます。
要するに、どの数値に重みがあるかを知りたいのです。
バラバラの数値では何の説得力もありませんが、一部分に偏っていればその分、説得力があると判断します。
数値の大きさではなく、偏差値的にピークの部分が何処かを知りたいと言う感じです。
従って「連続して並んでいるが上より数値が小さい」、これはありません。
何かヒントなどありましたら宜しくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセル、日々の集計整理方法。(再送です。) 5 2022/10/02 00:19
- Java Java 南京錠 2 2023/02/04 11:46
- 日本語 順位と平均の意味に関する疑問 5 2023/04/15 13:25
- Excel(エクセル) エクセルの昇順での数値入力のミスの見つけ方を教えてください。 4 2022/06/26 20:41
- 数学 以下の問題が分かりません。 8ビット浮動小数点数が、最上位ビットから順に符号1ビット、指数部3ビット 4 2023/07/22 16:06
- Excel(エクセル) excelにて、ある固定値から連番を振りたいが、上限値が異なる連番を振る処理を複数回行いたい場合 6 2022/10/22 11:01
- Excel(エクセル) ExcelのIF関数について 4 2023/05/24 12:54
- 大学・短大 C言語線形リストの問題です 3 2022/12/22 00:45
- Excel(エクセル) エクセル 3つの値の中からデータを抽出させる方法 4 2023/08/24 11:00
- 大学受験 偏差値50弱の高校からmarchの文系に行きたく、そのためにアドバイスをいただきたいです。 自分は中 5 2022/09/27 16:37
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
外イキはなぜ1回しか出来ないの...
-
エクセルで同じ文字が3連続して...
-
ジャンケン連勝世界記録
-
数学の問題です。 ある連続する...
-
x^2sin(1/x) と 0(x=0) での連続性
-
f(x,y)=(x^2+y^2)/sin(x^2+y...
-
複素関数の連続性
-
4期連続赤字とは?
-
数列の問題で 階段の登り方の漸...
-
中3 式の計算
-
javaのプログラミング(連続す...
-
数Aの整数の性質の問題です。 ...
-
関数の原点における連続性って...
-
内田伏一著 集合と位相 例19.2
-
教えて下さい。 3つの連続する...
-
連続4整数
-
AMDのCPUコアが、連続稼働でハ...
-
連続投稿はできません。しばら...
-
「Newton」7月号特集記事
-
統計学の問題
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
外イキはなぜ1回しか出来ないの...
-
隔年と毎年の違いを教えてくだ...
-
単連結なn次元閉多様体の連続変...
-
「区分的に連続」と「区分的に...
-
エクセルで同じ文字が3連続して...
-
無理数は連続ですか?
-
ジャンケン連勝世界記録
-
連続する3つの整数の積が6の倍...
-
x^2sin(1/x) と 0(x=0) での連続性
-
1日あける 一日置き 違いは何で...
-
連続点灯時間とは
-
次の関数f(x)が連続になるよう...
-
連続する2整数が互いに素(最大...
-
平方の差(基本)
-
算数-整数の和
-
連続する番号を引く確率
-
単純支持梁と連続支持梁の違い
-
自動紙送り装置
-
数列の問題で 階段の登り方の漸...
-
同じものを含む順列
おすすめ情報