static int count = 0; static int n = 12; void valid(int n,int sum){ if (n == 0 && sum == 0){ count++; return; } else if (n == 0){ return; } int i; if (sum >= 0){ for (i = 0; i < 2; ++i){ switch (i){ case 0:valid(n-1,sum +1); break; case 1:valid(n-1,sum - 1); break; } } } else{ return; } }
#-*- coding: utf-8 s = [[] for i in range(13)] i = 0 s[i] = [1] while i <= 11: for j in s[i]: if j-1 >= 0: s[i+1].append(j-1) s[i+1].append(j+1) i = i + 1 #print([i for i in s[11] if i == 0].__len__()) 以下的5行代码其实可以使用这一行解决,写下面那个为了方便理解,但是还是一行简单 count = 0 for i in s[11]: if i ==0: count +=1 print(count)
太渣了 只能想到暴力遍历,,,,,,渣渣了bool findfit(string str)