- 博客(4)
- 收藏
- 关注
原创 贪心 动态规划 接雨水
贪心:这一步的最优解只与上一步有关, 动态规划:这一步的最优解可能和前面的几个局部最优解有关 贪心每一步都做出此时能做的最优解,但是最后得到的解不一定是最优的,但是时间复杂度低; 动态规划是从前面的局部最优里面挑选,结果一定是最优的,但是时间复杂度较高。 跳跃游戏里面只做出当前位置所能做出的最好选择。然后经过我们证明这是最优的跳法;因此可行 而用动态规划或者递归时间超出限制。 对于每一个柱子,我们判断他能不能存雨水。能存多少雨水? 我们发现他和最大柱高以及他左边的柱高有关,而左边的柱高
2022-05-10 16:11:12 401
原创 2022.4.28 在循环体中定义局部变量 内存分配 重建二叉树
1.在循环体中定义局部变量 for(int i=0;i<n;i++){ ....... } 我们很常做的一件事就是在for循环里定义一个变量并初始化(如上面定义的i,初始化为1),这个变量有可能是为了做循环限制而定义的,而此时变量只做为for循环的局部变量 循环结束后就不能再使用i这个变量。 2.内存分配 定义指针 需要动态分配内存 root = (struct TreeNode *)malloc(sizeof(struct TreeNode)); 二维数组:*arr=arr[0],**arr=
2022-04-28 16:36:55 296
原创 二叉树学习
1. 结构体尾部加指针 typedef struct node { int data; struct node *rchild,*lchild;(指向的为结构体便作为结构体指针) }node,*Node; 当你创建的是node T时,只能用T.data来表示数据 当你用Node指针创建时,Node T就可以用T->data来表示数据 2.遍历方法 void PreOrderTraversal( BinTree BT ):先序----根、左子树、右子树; void InOrd...
2022-04-26 18:10:13 485
转载 24点游戏
#define MINSIZE 0.000001 bool ret = false; // 加减乘数 四则运算 type 变量标识计算类型 double GetNums(double a, double b, int type) { switch (type) { case 1: return a + b; case 2: return a > b ? a - b : b - a; case 3: return a * ...
2022-04-25 17:19:29 65
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人