当前位置: 首页 > news >正文

专做水果店加盟的网站专门做app的原型网站

专做水果店加盟的网站,专门做app的原型网站,网站建设需要客户提供什么内容,怎么做一个个人网站本文涉及知识点 C算法:前缀和、前缀乘积、前缀异或的原理、源码及测试用例 包括课程视频 LeetCode42. 接雨水 给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。 示例 1: 输入&am…

本文涉及知识点

C++算法:前缀和、前缀乘积、前缀异或的原理、源码及测试用例 包括课程视频

LeetCode42. 接雨水

给定 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 个单位的雨水(蓝色部分表示雨水)。
示例 2:
输入:height = [4,2,0,3,2,5]
输出:9

提示:
n == height.length
1 <= n <= 2 * 104
0 <= height[i] <= 105

枚举

vWater[i] 记录 第i个柱子水的高度。
令 leftMax =max(height[0…i-1])
rightMax = max(height[i+1…])
如果水高于 leftMax 或 rightMax,水会流走。故水的高度为:min(leftMax,rightMax) - height[i]
结果为负,则为0。
更改leftMax为max(height[0…i]),rightMax类似。则不需要考虑负数。
时间复杂度:O(n)

代码

核心代码

class Solution {
public:int trap(vector<int>& height) {const int n = height.size();vector<int> vLeft = height;for (int i = 1; i < n; i++) {vLeft[i] = max(vLeft[i], vLeft[i - 1]);}int iRightMax = 0;int iRet = 0;for (int i = n - 1; i >= 0; i--) {iRightMax = max(iRightMax, height[i]);const int iWater = min(iRightMax, vLeft[i]);iRet += iWater - height[i];}return iRet;}
};

单元测试

template<class T1,class T2>
void AssertEx(const T1& t1, const T2& t2)
{Assert::AreEqual(t1 , t2);
}template<class T>
void AssertEx(const vector<T>& v1, const vector<T>& v2)
{Assert::AreEqual(v1.size(), v2.size());	for (int i = 0; i < v1.size(); i++){Assert::AreEqual(v1[i], v2[i]);}
}template<class T>
void AssertV2(vector<vector<T>> vv1, vector<vector<T>> vv2)
{sort(vv1.begin(), vv1.end());sort(vv2.begin(), vv2.end());Assert::AreEqual(vv1.size(), vv2.size());for (int i = 0; i < vv1.size(); i++){AssertEx(vv1[i], vv2[i]);}
}namespace UnitTest
{vector<int> height;TEST_CLASS(UnitTest){public:TEST_METHOD(TestMethod0){	height = { 0, 1, 0, 2, 1, 0, 1, 3, 2, 1, 2, 1 };auto res = Solution().trap(height);AssertEx(6,res);}TEST_METHOD(TestMethod1){height = { 4, 2, 0, 3, 2, 5 };auto res = Solution().trap(height);AssertEx(9, res);}};
}

扩展阅读

视频课程

有效学习:明确的目标 及时的反馈 拉伸区(难度合适),可以先学简单的课程,请移步CSDN学院,听白银讲师(也就是鄙人)的讲解。
https://edu.csdn.net/course/detail/38771

如何你想快速形成战斗了,为老板分忧,请学习C#入职培训、C++入职培训等课程
https://edu.csdn.net/lecturer/6176

相关下载

想高屋建瓴的学习算法,请下载《喜缺全书算法册》doc版
https://download.csdn.net/download/he_zhidan/88348653

我想对大家说的话
《喜缺全书算法册》以原理、正确性证明、总结为主。
闻缺陷则喜是一个美好的愿望,早发现问题,早修改问题,给老板节约钱。
子墨子言之:事无终始,无务多业。也就是我们常说的专业的人做专业的事。
如果程序是一条龙,那算法就是他的是睛

测试环境

操作系统:win7 开发环境: VS2019 C++17
或者 操作系统:win10 开发环境: VS2022 C++17
如无特殊说明,本算法用**C++**实现。

http://www.yayakq.cn/news/388187/

相关文章:

  • asp建设网站需要了解什么外网怎么进入
  • 网站开发使用天气api做网站大图片
  • 书店网站建设上海企业网站建设公
  • 江西省建设工程造价管理局网站tp5网站开发百度云分享
  • 建立网站原则浏览器什么网站都能打开的
  • 网站建设合同 果动.l西安凤城二路网站建设
  • 网站查询系统科技公司网站推荐
  • 农业科技公司网站案例线上宣传的方式
  • 简单的企业网站的主页东莞常平社保咨询电话
  • 怎么添加网站关键词龙岗网红公园
  • 得力企业网站建设wordpress好用中文插件
  • 找施工员在哪个网站上找济南优化网站的哪家好
  • 织梦网站模板修改短视频seo询盘获客系统
  • 怎么创建网站根目录一站式网络推广服务
  • 汉滨区住房和城乡建设局网站wordpress 全站静态
  • 怎么免费创建自己的网站网页制作与网站建设教程
  • asp net4.0网站开发线上推广员是干什么的
  • 四川佳和建设工程网站网站备案在外地
  • 做网站第二年要续费吗企业培训网站建设
  • 广州建站外贸网站苏州网页设计培训
  • 建设银行网站上怎么查看账户乐辰科技网站建设
  • 网站策划书最后一步怎么做网站如何换空间
  • 做外贸网站如何找工作网
  • 企业网站设计制作教程石家庄代理注册公司
  • 雄安免费网站建设公司如何网络推广
  • asp+sql server典型网站建设案例wordpress rss聚合
  • 个人免费网站开发宁波网站免费制作
  • 网站建站行业新闻用别人备案域名做违法网站
  • 北京制作网站多少钱shopnc
  • android应用商店wordpress评论优化