3 16刷了5個題

2022-10-08 23:30:29 字數 1207 閱讀 8203

思路:一開始遍歷是每個數,n % i判斷是不是 == 0,但是可以減小這種情況(i < sqrt(n))

bool isprime(int n)

}return true;

}

用dfs

這個題只是選一次並沒有讓你輸出情況,當你進行dfs的時候已經都選完了

設計dfs,考慮有加起來的總數,有加起來的總個數,還有判斷遞迴是否完成的數

#include 

#include

#include

using namespace std;

​int n,k;

int a[30];

int res = 0;//答案

​int check(int all)

}return 1;}​

void dfs(int x,int all,int count)

}else }​

int main()

dfs(0,0,0);

cout << res ;}​

也是常見的遞迴問題,組合數要求跟之前的數不重複,讓下一回遞迴的數大於以前的數,也就不用搞狀態陣列了

#include

​using namespace std;

​int n,m;

int a[50];

​void dfs(int u,int pre)

for(int i = pre + 1; i <= n; i ++)}​

int main()

#include 

using namespace std;

int main()

//菜雞不會手寫next_permutation()

for (; m--;)

for (int i = 1; i <= n; i++)

return 0;

}

#include

#include

​using namespace std;

​int a,b;

​bool check(int x)

if (num==x) return 1;

else return 0;}​

int hh(int x)      //判斷質數的函式

return 1;}​

int main()}}

Leetcode刷題筆記 316 去除重複字母

題目 給你乙個字串 s 請你去除字串中重複的字母,使得每個字母只出現一次。需保證 返回結果的字典序最小 要求不能打亂其他字元的相對位置 注意 該題與 1081相同 示例 1 輸入 s bcabc 輸出 abc 示例 2 輸入 s cbacdcbc 輸出 acdb 提示 解法 這道題和 leetcod...

劍指刷題5

題目 用兩個棧來實現乙個佇列,完成佇列的push和pop操作。佇列中的元素為int型別。解題思路 push操作的話其實佇列和棧的邏輯是一樣的,入口就是第乙個stack,主要是pop的話要實現佇列的先進先出的邏輯,所以要將stack中已有的node依次pop然後馬上push到stack2中。class...

力扣刷題日記(5)

給定乙個由整數組成的非空陣列所表示的非負整數,在該數的基礎上加一。最高位數字存放在陣列的首位,陣列中每個元素只儲存乙個數字。你可以假設除了整數 0 之外,這個整數不會以零開頭。示例 1 輸入 1,2,3 輸出 1,2,4 解釋 輸入陣列表示數字 123。示例 2 輸入 4,3,2,1 輸出 4,3,...