第一个用递归 ,遍历处理 .感觉数据量多了,达不到要求的性能
第二个感觉像是求数组中最小的几个数,比较简单 ,
第三个循环链表处理
C#版本的 第一个问题!
int N = 10;
string arr = "2 0 1 5 1 11 1 2 2 5";
int r = 0;
List<string> lis = arr.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries).ToList();
for (int i = 0; i < lis.Count; i += Convert.ToInt32(lis[i]))
{
int n = Convert.ToInt32(lis[i]);
if (n == 0)
{
r = -1;
break;
}
r++;
}