算法小白的进阶之路
文章平均质量分 70
算法,算法,还是算法!!!
这题怎么做?!?
种一棵树的最好时间是十年前,其次是现在。
展开
-
最大子矩阵:前缀和 + 线性动态规划
那么它的子矩阵就是矩阵中的某一片矩阵型的区域,那所要求的“最大子矩阵”的自然是找到在所有子矩阵中,矩阵元素和最大的那个矩阵。第二种情况是将当前位置的元素加入到之前的子序列中,即从当前位置开始新的子序列。dp[i - 1] + nums[i - 1] 表示从当前位置向前延伸的子序列的和,即以 nums[i - 1] 结尾的子序列和加上当前位置的元素值。其实通过上面的例子,我们不难发现进行预处理后的前缀和数组,仍然可以表示原数组的元素,更方便的是对于求原数组圈定矩阵元素和,在处理后的数组中仅通过使用。原创 2024-05-13 02:39:51 · 692 阅读 · 1 评论 -
Leetcode238.除自身以外数组的乘积——前缀积与后缀积
我们先来看下题目:(注:nums为数组首地址,numsSize为数组元素个数,returnSize为返回数组中元素的个数)我们看到这个题目,相信大多数人脑海中第一个浮现的想法是:1、遍历数组,算出数组所有元素的乘积。2、再次遍历数组,用第一步得到的答案分别对数组元素做除,并将结果存入一个新的数组。可是题目要求我们不能使用除法 ,这意味着我们只能使用乘法,将数组每个元素以外的所有元素的乘积都计算出来。可是如果数组包含的元素非常多,那么这样计算的时间复杂度将会极大。原创 2023-08-27 15:54:18 · 290 阅读 · 3 评论 -
LeetCode.61--旋转链表(C语言)
【代码】LeetCode.61--旋转链表(C语言)原创 2023-09-14 23:44:54 · 111 阅读 · 3 评论 -
【数据结构与算法】二叉树前序,中序,后序遍历非递归版。Leetcode接口
指针为空,则表示已经到达最左边的叶子节点,此时将栈顶节点出栈,将节点的值存入数组。指向该节点的右子树。原创 2024-02-01 21:50:32 · 588 阅读 · 0 评论 -
二进制与位运算详解
在日常生活中,我们对“十进制”的应用及其广泛。我们都知道,十进制的进位方式为——满“10”进1。例如:09+01=10(为了方便理解,我在9前加了一位0来显示进位结果,上式即:9+1=10)同样的,二进制亦是如此,进位方式为满“2”进“1”。例如,为方便,此处给2个4位二进制数字:0001、0001。我们对其进行相加运算。原创 2023-08-20 14:06:05 · 1125 阅读 · 1 评论 -
PTA:(c语言)求当年天数简洁代码。说明:参数 year、month 和 day 为年、月和日数。若参数正确,则函数值为从当年元旦到该日期的天数,否则为0。
c语言求当年天数的简洁代码。原创 2023-06-10 15:17:39 · 949 阅读 · 6 评论