リストの内容に対して2つの操作を実行する必要があります。リストには、エッジの重みと、これらのエッジがグラフに表示される重みが保持されます。リスト操作が最も効率的です。
私のやりたいことは、リストを再整理することなく、リスト内の各x値に対して、リスト内の残りの値の合計がxより大きいことを確認してください。そうでない場合は、xをリストから削除する必要があります。
例えば私のリストを仮定は、数字3 31 10 100 3 5
(3 + 4 + 5 + 23 + 3 + 31 + 10 + 5)が100未満であるため、3 4 5 23、100意志が含まれていリストから削除する必要があります。
はこれまでのところ、私が思い付くことができた私は、より効率的な方法でこれを実現するにはどうすればよい
static double calculatesum(List<Edge> e)
{
double total = e.Sum(item => item.segmentlength);
//what I want to check each and then delete when I hit one I need to deactivate
foreach (Edge edge in e)
{
if (1 > (total - edge.segmentlength))
{
edge.isactive = false;
total -= edge.segmentlength;
}
}
return 0;
}
のですか?
この宿題はありますか?もしそうなら、そのようにタグ付けされるべきです。 –
OK、私は今それを仮定しています。がんばろう! –
ここでの質問は何ですか? –