随笔分类 -  C语言 / 算法

摘要:问题实例:跳格子 小明和朋友玩跳格子游戏,有n个连续格子,每个格子有不同的分数,小朋友可以选择以任意格子起跳,但是不能跳连续的格子,也不能回头跳;给定一个代表每个格子得分的非负整数数组,计算能够得到的最高分数。输入描述:给定一个数列,如:12311 < nums.length < 1000 <= n 阅读全文
posted @ 2024-08-22 14:51 jason8826 阅读(18) 评论(0) 推荐(0) 编辑
摘要:实际使用中,DFS远多于BFS。如果只是为了遍历所有结点的话,那么DFS和BFS没什么差别,我们当然更倾向于更方便编写、空间复杂度更低的DFS遍历。 BFS应用场景:1.求最短路径(遇到的第一个解,一定就是最优解) DFS应用场景:1.迷宫问题(判断能否从A点走到B点这种问题) DFS搜索策略:从某 阅读全文
posted @ 2024-04-24 16:44 jason8826 阅读(30) 评论(0) 推荐(0) 编辑
摘要:// 递归求5!// 基本递归 #include <stdio.h> int fun(int n) { if (1 == n) { return 1; } else { return n*fun(n-1); } } int main(int argc, char *argv[]) { int num 阅读全文
posted @ 2024-03-18 02:33 jason8826 阅读(7) 评论(0) 推荐(0) 编辑
摘要:#include <stdio.h> int my_strnum(const char *str1, const char *str2) { int num = 0, str1_len = 0, str2_len = 0; const char *temp1 = str1; const char * 阅读全文
posted @ 2023-05-06 13:34 jason8826 阅读(95) 评论(0) 推荐(0) 编辑
摘要:int main(int argc, char *argv[]) { char num[20] = {0}; int temp = 0; printf("请输入一个8进制数:"); gets(num); int i = 0; while (num[i] != '\0') { temp = temp* 阅读全文
posted @ 2023-04-26 14:18 jason8826 阅读(253) 评论(0) 推荐(0) 编辑
摘要:/* 题目:输入两个正整数m和n,求其最大公约数和最小公倍数 程序分析: 1.最小公倍数=输入的两个数之积除于它们的最大公约数,关键是求出最大公约数; 2.求最大公约数用辗转相除法(又名欧几里德算法) 算法描述: 第一步:a ÷ b,令r为所得余数(0≤r 第二步:互换:置 a←b,b←r,并返回第 阅读全文
posted @ 2023-02-20 23:30 jason8826 阅读(100) 评论(0) 推荐(0) 编辑
摘要:// 将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5 #include <stdio.h> int main() { int n; printf("输入一个正整数:"); scanf("%d", &n); for (int i = 2; i <= n; i++) { while 阅读全文
posted @ 2023-02-20 23:28 jason8826 阅读(10) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示