2 个数组中的最小值

本文关键字:最小值 数组 | 更新日期: 2023-09-27 18:33:21

我有 2 个数组,第一个数组保存resource_wastage的所有值,第二个数组保存power_consumed的所有值。为了实现模糊逻辑,我需要同时检查资源浪费和功耗是否低,然后我的输出将是数组索引,如果其中一个低而第二个不是,那么我应该继续数组中的下一个值。

例如:

for(int i=0, i<n; i++) 
if(res_was[0] is low in all res_was[i=0 to n] && [pow_con[0] is low in all pow_con[i=0 to n])
    {
      print i;
      break;
    }
    else continue with next value in arrays;

请帮助我如何实现这一点,我的意思是检查两个数组中的值是否同时较低。

2 个数组中的最小值

你可以使用这样的东西。数组具有用于最小搜索的特殊方法。

var resMin = res_was.Min();
var powMin = pow_con.Min();
for(int i = 0; i < n; i++)    
{
      if(res_was[i] == resMin && pow_con[i] == powMin)
      {
         Console.writeLine(i);
         break;
      }    
}

可能是您将需要使用更复杂的Min方法。您可以在 MSDN 中阅读所有这些内容。

也试试这个;

找到最小值

和最小值位置,然后比较是否相等,继续您的过程...

        int _ires_wasminValue = Enumerable.Range(0, res_was.Length).Min(i => res_was[i]);
        int _imin_res_was_pos = Array.IndexOf(res_was, _ires_wasminValue);
        int _ipow_cons_minValue = Enumerable.Range(0, res_was.Length).Min(i => res_was[i]);
        int _imin_pow_cons_pos = Array.IndexOf(res_was, _ires_wasminValue);
        if (_imin_pow_cons_pos==_imin_res_was_pos)
        {
            Console.writeLine(_imin_pow_cons_pos);                
        }