問題:
輸入:第一行有乙個整數n(0表示01串的長度;
輸出:輸出不含有「11」子串的這種長度的01串共有多少個,佔一行。
樣例: 2
2 3
輸出: 3
5
子集問題,窮舉出01串的所有情況,找出有11字串的串,加1。。但這樣做會超時。最好的辦法是fibonacci,以四位01串來說,
是三位01串和兩位01串的和。在三位串後面加0,在兩位串後面加01。
不能在兩位串後面加10,是因為三位串已經包含兩位串後面加1的所有情況,再加10會與前面重複。
fibonacci方法**:
#include
int main(void)
;scanf("%d", &n);
for(i = 4; i <= 40; i++)
a[i] = a[i - 1] + a[i - 2];
for(i = 0; i < n; i++)
return 0;
}子集方法**:
#include
int count, m, result[100];
void dfs(int sum)//sum 為結果陣列下標,從1開始
}if(flag == 0)
return ;
}result[sum] = 0;
dfs(sum + 1);
result[sum] = 1;
dfs(sum + 1);
}int main(void)
return 0;
}
1 1字串的旋轉
題目 給定乙個字串,要求將字串的前面若干個字元移到字串的尾部。如有字串 abcdef 將前3個字元移到字串尾部變成 defabc 寫乙個函式實現此功能。解法1 蠻力移位 比如將 a 移動到最後一位,就將 a 賦值給乙個臨時變數,然後把後面n 1個字元均向前移動一位 注意移動的時候由前向後依次進行,否...
1698 字串的不同子字串個數
題目描述 給定乙個字串 s,返回 s 的不同子字串的個數。字串的 子字串 是由原字串刪除開頭若干個字元 可能是 0 個 並刪除結尾若干個字元 可能是 0 個 形成的字串。示例 1 輸入 s aabbaba 輸出 21 解釋 不同子字串的集合是 a b aa bb ab ba aab abb bab ...
Day11 字串的排列
題目 輸入乙個字串,列印出該字串中字元的所有排列。你可以以任意順序返回這個字串陣列,但裡面不能有重複元素。leetcode原題鏈結 思路 itertools.permutations iterable,r none import itertools class solution def permut...