(c#开发技巧]如何使不符合要求的元素等于离它最近的一个元素

  

一、问题描述

今天在MSDN论坛中看到这样的一个问题,觉得非常锻炼思维能力,所以这里记录下来作为备份,题目的要求是这样的:

这里的实现思路摘自论坛中zjyh26的回复,实现思路为:

<李>

<强>

<李>

<强>

<李>

具体实现代码为:

 string [] s=新的字符串[9]{“0”、“0”、“1”、“0”,“0”,“0”,“4”,“0”,“3”};
  string[]结果=新的字符串[9];
  for (int i=0;我& lt;s.Length;我+ +)
  {
  如果(s[我]!=" 0 ")
  {
  结果[我]=[我];
  继续;
  }//j是距离,初始化距离为1
  for (int j=1;j & lt;s.Length;j + +)
  {
  如果(i - j祝辞=0)
  {//左边距离为j的元素不等于0时
  如果(s (i, j) !=" 0 ")
  {
  结果[我]=s (i, j);
  打破;
  }
  }
  如果(i + j & lt;s.Length)
  {//右边距离为j的元素不等于0时
  如果(s (i + j] !=" 0 ")
  {
  结果[我]=s (i + j);
  打破;
  }
  }
  }
  }
  for (int i=0;我& lt;result.Length;我+ +)
  {
  Console.WriteLine(结果[我]);
  }
  
  Console.ReadLine (); 

三、运行结果

 [c#开发技巧]如何使不符合要求的元素等于离它最近的一个元素


(c#开发技巧]如何使不符合要求的元素等于离它最近的一个元素