- 2024-10-06C++ 算法学习——1.8 悬线法
1.问题引入:对于一个矩形图,图中放置着不少障碍,要求出最大的不含障碍的矩形。2.分析:显然一个极大矩形是左右上下都被障碍挡住,无法再扩大的矩形,此时障碍也包括边界。3.方法:悬线法考虑以当前点所在行为下界,以往上能达到的最大距离为高度,正上方所有点的往左最大距离的最小值和往右
- 2024-08-05【动态规划】力扣918. 环形子数组的最大和
给定一个长度为n的环形整数数组nums,返回nums的非空子数组的最大可能和。环形数组意味着数组的末端将会与开头相连呈环状。形式上,nums[i]的下一个元素是nums[(i+1)%n],nums[i]的前一个元素是nums[(i-1+n)%n]。子数组最多只能包含固定缓冲区nu
- 2024-07-08LeetCode42(接雨水)[三种解法:理解动态规划,双指针,单调栈]
接雨水给定n个非负整数表示每个宽度为1的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。这是一道困难题,难度确实有点层次.我们先来朴素思想走一波.要求能接多少雨水,我们可以具化到每个硅谷,每个硅谷能存多少雨水,那么答案就是每个硅谷的雨水所加之和.对
- 2024-06-10第一篇 LeetCode(42)接雨水
LeetCode(42)接雨水力扣官网题目描述:给定n个非负整数表示每个宽度为1的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。输入:height=[0,1,0,2,1,0,1,3,2,1,2,1]输出:6解释:上面是由数组[0,1,0,2,1,0,1,3,2,1,2,1]表示的高度图,在这种情况下,可以接6个单位的雨水
- 2024-03-22LeetCode刷题记录——day4
https://leetcode.cn/problems/trapping-rain-water/description/?envType=study-plan-v2&envId=top-interview-150对于一个可以构成“碗”的序列,最后装满水的话应该和最短的一边齐平,那么可以左右各遍历一次,记录每个元素位置对应的最短边高度,再对比就可以得出左右哪边最短class
- 2024-02-24Leetcode 42.接雨水
题目朴素解法:对于每列分别向左右扫描查找左右最高的柱子,对于每一个柱子接的水,那么它能接的水=min(左右两边最高柱子)-当前柱子高度。遍历每列时间复杂度为O(n),每列再扫描O(n),总共O(N^2)。classSolution{public:inttrap(vector<int>&height){//O(n^2)还是超
- 2023-06-1342. 接雨水
给定n个非负整数表示每个宽度为1的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。示例1:输入:height=[0,1,0,2,1,0,1,3,2,1,2,1]输出:6解释:上面是由数组[0,1,0,2,1,0,1,3,2,1,2,1]表示的高度图,在这种情况下,可以接6个单位的雨水(蓝色部分表示雨水)。>双指针
- 2023-05-22查找大于等于左侧所有数小于等于右侧所有数
在一个int数组里查找这样的数,它大于等于左侧所有数,小于等于右侧所有数。实现voidtest(){//intarr[]={2,5,3,6,6,9,12,7};intarr[]={2,4,3,9,6,5,7};//intarr[]={2335557};//intarr[]={1,2,3,4,5};//inta
- 2023-03-08#yyds干货盘点# LeetCode面试题:接雨水
1.简述:给定 n个非负整数表示每个宽度为1的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。 示例1:输入:height=[0,1,0,2,1,0,1,3,2,1,2,1]输出:6解释:上面是由数
- 2023-02-10LeetCode接雨水(/dp 单调栈 双指针)
原题解题目给定n个非负整数表示每个宽度为1的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。约束题解解法一classSolution{public:inttra
- 2022-11-251101. Quick Sort (25)
1101.QuickSort(25)时间限制200ms内存限制65536kB代码长度限制16000B判题程序Standar
- 2022-10-25数组
915.分割数组intindex=0,leftMax=nums[0],max=nums[0];for(inti=1;i<nums.length;i++){if(leftMax>nums[i]){//加上等号,可能会出现没有右数组ind