在电力电网系统中往往需要统计线路杆塔信息(列如 2#~5# 设计覆冰厚度为20 mm; 7#~10# ,8#,910~#18  设计覆冰 厚度为30 ;这样杆塔怎么样统计。我们简化抽象出这个问题。比如1到10 数中 ,找出连续相连的数用“~”连接,不相连用","。下面看看下面算法实现。

  for (int i = 0; i < datas.Length; i++)
            {
                if (i == 0)
                {
                    result += " " + datas[i];
                }
                else if (i == datas.Length - 1)
                {
                    if (datas[i] - datas[i - 1] == 1)
                    {
                        result = result + "~" + datas[i];
                    }
                    else
                    {
                        result = result + "," + datas[i];
                    }
                    
                }
                else
                {
                    if ((datas[i] - datas[i - 1] == 1) && (datas[i + 1] - datas[i] == 1))
                    {
                        continue;
                    }
                    if ((datas[i] - datas[i - 1] == 1) && (datas[i + 1] - datas[i] != 1))
                    {
                        result = result + "~" + datas[i];
                    }
                    if ((datas[i] - datas[i - 1] != 1))
                    {
                        result = result + "," + datas[i];
                    }
                }        
            }

注意“,” 和“~” 是一样都是字符。理解这个比较好理解算法。

参考自:http://blog.csdn.net/caoyinghui1986/article/details/2498864

相关文章:

  • 2022-12-23
  • 2021-04-07
  • 2021-12-17
  • 2021-10-27
  • 2022-01-31
  • 2021-11-17
  • 2021-11-14
猜你喜欢
  • 2022-12-23
  • 2022-02-10
  • 2021-08-04
  • 2022-12-23
  • 2021-09-08
  • 2021-11-19
  • 2022-02-10
相关资源
相似解决方案