- 博客(5)
- 收藏
- 关注
原创 贪心算法训练
2021-04-10 19:50:25 跳跃游戏II 给定一个非负整数数组,你最初位于数组的第一个位置。 数组中的每个元素代表你在该位置可以跳跃的最大长度。 你的目标是使用最少的跳跃次数到达数组的最后一个位置。 输入: [2,3,1,1,4] 输出: 2 解释: 跳到最后一个位置的最小跳跃数是 2。 从下标为 0 跳到下标为 1 的位置,跳 1 步,然后跳 3 步到达数组的最后一个位置。 假设现在在位置kkk,那么能跳的步数step≤nums[k]step \leq nums[k]step≤nu
2021-04-10 22:01:09 99
原创 并查集--食物链
食物链 动物王国中有三类动物A,B,C,这三类动物的食物链构成了有趣的环形。A吃B, B吃C,C吃A。 现有N个动物,以1-N编号。每个动物都是A,B,C中的一种,但是我们并不知道它到底是哪一种。 有人用两种说法对这N个动物所构成的食物链关系进行描述: 第一种说法是"1 X Y",表示X和Y是同类。 第二种说法是"2 X Y",表示X吃Y。 此人对N个动物,用上述两种说法,一句接一句地说出K句话,这K句话有的是真的,有的是假的。当一句话满足下列三条之一时,这句话就是假话,否则就是真话。 1) 当前的话与前面
2021-04-03 12:57:26 53
原创 《挑战程序设计竞赛》1-2章--初级篇例题
1. Ants nnn只蚂蚁以每秒1cm的速度在长为L的杆子上爬行。每个蚂蚁的朝向不知,当两只蚂蚁相遇时,会各自朝相反方向爬行。问所有蚂蚁爬到杆子的尽头的最短时间和最长时间。 假设有两只蚂蚁这样运动, 当两只蚂蚁相遇时,会朝相反方向爬行, 你其实可以发现,蚂蚁之间是没有区别的,所以可以把相遇后往相反方向走看成相遇后继续走。 那么最长时间就是max{max1≤i≤n{xi,L−xi}}max\{max_{1 \leq i\leq n}\{x_i,L-x_i\}\}max{max1≤i≤n{xi,L−xi
2021-04-02 13:28:22 330
原创 分治算法例题
外星密码 题目:给你一个字符串,其中[XS][XS][XS]表示XXX个SSS,SSS表示字符串,比如[2abc]=abcabc[2abc]=abcabc[2abc]=abcabc。括号可以嵌套和并列,比如[X1[X2[X3S]]][X_1[X_2[X_3S]]][X1[X2[X3S]]],[X1S1][X2S2][X_1S_1][X_2S2][X1S1][X2S2]和[X1S1[X2S2][X3S3]][X_1S_1[X_2S_2][X_3S_3]][X1S1[X2S2][X3S3.
2021-03-16 20:18:41 198
原创 Fibonacci数列的求法及矩阵快速幂相关例题
根据斐波那契数列的递推式,我们可以有几个算法来求解第nnn项的值。 Fib(n)={1n<2Fib(n−1)+Fib(n−2)n>=3 Fib(n)= \begin{cases} 1 &n<2 \\ Fib(n-1)+Fib(n-2) &n>=3 \end{cases} Fib(n)={1Fib(n−1)+Fib(n−2)n<2n>=3 递归法 可以很容易写出递归的算法。 /* 效率很低,包含很多重复计算 */ int Fib(int n) {
2021-03-12 20:08:45 218
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人