leetcode刷题笔记
文章平均质量分 59
弓长日月土申
这个作者很懒,什么都没留下…
展开
-
011盛最多水的容器
011盛最多水的容器题目链接思路1:暴力法 对于每一个柱子,都扫描所有之前没扫描过的组合,保留下容积的最大值。相当于对没两个柱子的组合所能够容纳的水的体积,我们都判断了一遍。那么时间复杂度就是C(n,2)为o(n^2)级别的。对于题目中的数据规模,明显是过不了的。这里也写一下代码吧。class Solution {public: int maxArea(vector<int>& height) { int n=height.size();原创 2021-08-29 17:07:52 · 72 阅读 · 0 评论 -
leetcode刷题笔记——array
leetcode刷题笔记——array004:寻找两个正序数组的中位数题目链接假设nums1的长度为n,nums2的长度为m。思路1: 可以很直接的想到,可以先将题目给的两个数组合并成一个数组,然后对这个合并后的数组进行排序,就可以根据数组的长度来返回中位数的值了。本方法时间复杂度为o((n+m)log(n+m))。代码如下:class Solution {public: double findMedianSortedArrays(vector<int>& num原创 2021-08-27 21:54:41 · 170 阅读 · 0 评论 -
leetcode刷题笔记——array
leetcode刷题笔记——array001 两数之和题目链接思路1:直接暴力枚举,即使用双重循环,逐个判断nums[i]+nums[j]与target的大小关系。时间复杂度为o(n^2)思路2:正如我们求x+y+z=C(C>0)的正整数解一样,我们可以不全部枚举x,y,z,只枚举x,y,最后一个根据C-x-y求得。这里也是一样的,可以只枚举其中一个数,存下枚举过的数的下标和数值,之后遇到的每个数都先在表里面判断是否有满足条件的数值存在,如果有,则记录答案并返回,如果没有,就将当前的数和原创 2021-08-27 17:42:49 · 98 阅读 · 1 评论