一、问题描述
今天在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 ();
三、运行结果