算法(c语言版)
学习经典算法设计
理想是做全栈工程师
考研中,不更新了,明年再见。
展开
-
算法笔记(动态规划入门题)
这个文章写的很不错,可以看看。原创 2024-01-19 21:14:21 · 559 阅读 · 0 评论 -
牛客周赛(Round 25)题解
优先使用高伤害技能攻击高血量敌人,为了最少法力值消耗,每次循环执行时,先判断敌人血量是否大于技能造成的伤害,每次计算三个敌人血量于技能伤害的倍数,取最小倍数,一次循环可以释放多次技能,提高算法效率。之所以从后往前遍历,是因为高伤害技能的伤害是递增的,倒序可以优先击败高血量敌人,节省法力值消耗。题解: 求两个最大乘积之和,优先使乘积最大,而不是和最大,将两个乘积其中之一最大,另一个最小就行。定义long long类型变量,遍历一遍出结果,每次循环乘积都取余一次,最后和取余一次,防止溢出。原创 2023-12-25 13:26:24 · 143 阅读 · 0 评论 -
算法笔记(模拟最大三数乘积问题)
四种情况中,2,3,4,5,6,7,8,9的计算方法其实是一样,都是递增排序后的最后3个数的乘积;而1的计算方法则是递增排序后的第一个数,第二个数以及最后一个数的乘积。本来想用两种排序(绝对值排序,非绝对值排序)来枚举求解,但是有点繁琐。发现规律后,只要非绝对值排序,然后求两个结果取最大值即可。问题:给定一个无序整型数组,可能包含正数,负数和0,在数组中找出由三个数组成的最大乘积,并输出。1.两个负数,一个正数。4.两个正数,一个负数。5. 两个负数,一个零。8.一个正数,两个零。9.一个负数,两个零。原创 2023-12-24 14:55:34 · 519 阅读 · 0 评论 -
算法笔记(并查集求解共同根节点问题)
优化后的时间复杂度应该为O(logN).原创 2023-11-23 14:52:06 · 64 阅读 · 1 评论 -
算法笔记(贪心法求解活动安排问题)
时间复杂度为O(n*logn) //主要为快速排序耗时。-------该算法摘自《算法设计与分析(第2版)》时间复杂度为O(n^2) //主要为双层循环耗时。原创 2023-11-11 17:47:39 · 472 阅读 · 0 评论 -
算法笔记(递归回溯剪枝法求解01背包问题)
------该算法摘自《算法设计与分析(第2版)》原创 2023-10-18 21:34:27 · 145 阅读 · 2 评论 -
算法笔记(dijkstra求带权无向图最短路径问题)
【代码】算法笔记(dijkstra求带权无向图最短路径问题)转载 2023-10-06 17:22:32 · 240 阅读 · 1 评论 -
算法笔记(BFS求解简单迷宫问题)
------该算法摘自《算法设计与分析(第2版)》原创 2023-10-05 15:14:03 · 80 阅读 · 1 评论 -
算法笔记(分治法求最大子数组和问题)
【代码】算法笔记(分治法求最大子数组和问题)原创 2023-09-28 17:58:36 · 63 阅读 · 1 评论 -
算法笔记(增量穷举法求全排列问题)
由于是暴力求解,所以时间复杂度很高,为O(n*n!-------该算法摘自《算法设计与分析(第2版)》原创 2023-10-01 18:30:24 · 190 阅读 · 1 评论 -
算法笔记(DFS求解简单迷宫问题)
DFS遍历邻接表实在太麻烦(报了一堆错),所以放弃了。原创 2023-10-03 17:07:33 · 105 阅读 · 2 评论 -
算法笔记(递归回溯解N皇后问题)
以上图为例(该图情况是不可通的),该算法的过程是默认从第一行第一列开始放第一个皇后,然后开始递归(皇后数N即为递归层数)下一层,循环测试该行每列是否可行,有可行的列则进行下一层循环,所有列都不可行则结束当前递归,返回上一行重新选择另一列进行递归。直到递归到最后一行,也就是i==N,说明该解法可行,并输出该解。然后返回上一层循环,尝试剩余的所有列,直到第一层递归的循环结束,则说明所有解法均已走完,程序结束。原创 2023-09-27 15:13:04 · 98 阅读 · 2 评论 -
算法笔记(栈模拟递归求阶乘问题)
------该算法摘自《算法设计与分析(第2版)》原创 2023-09-30 17:08:53 · 181 阅读 · 2 评论