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

专业网站设计公司和普通设计公司的区别丽江网络推广公司

专业网站设计公司和普通设计公司的区别,丽江网络推广公司,做网站还有价值吗,wordpress的搭建环境搭建作者推荐 【动态规划】【map】【C算法】1289. 下降路径最小和 II 本文涉及知识点 大根堆 优先队列 LeetCode:871最低加油次数 汽车从起点出发驶向目的地#xff0c;该目的地位于出发位置东面 target 英里处。 沿途有加油站#xff0c;用数组 stations 表示。其中 statio…作者推荐 【动态规划】【map】【C算法】1289. 下降路径最小和 II 本文涉及知识点 大根堆 优先队列 LeetCode:871最低加油次数 汽车从起点出发驶向目的地该目的地位于出发位置东面 target 英里处。 沿途有加油站用数组 stations 表示。其中 stations[i] [positioni, fueli] 表示第 i 个加油站位于出发位置东面 positioni 英里处并且有 fueli 升汽油。 假设汽车油箱的容量是无限的其中最初有 startFuel 升燃料。它每行驶 1 英里就会用掉 1 升汽油。当汽车到达加油站时它可能停下来加油将所有汽油从加油站转移到汽车中。 为了到达目的地汽车所必要的最低加油次数是多少如果无法到达目的地则返回 -1 。 注意如果汽车到达加油站时剩余燃料为 0它仍然可以在那里加油。如果汽车到达目的地时剩余燃料为 0仍然认为它已经到达目的地。 示例 1 输入target 1, startFuel 1, stations [] 输出0 解释可以在不加油的情况下到达目的地。 示例 2 输入target 100, startFuel 1, stations [[10,100]] 输出-1 解释无法抵达目的地甚至无法到达第一个加油站。 示例 3 输入target 100, startFuel 10, stations [[10,60],[20,30],[30,30],[60,40]] 输出2 解释 出发时有 10 升燃料。 开车来到距起点 10 英里处的加油站消耗 10 升燃料。将汽油从 0 升加到 60 升。 然后从 10 英里处的加油站开到 60 英里处的加油站消耗 50 升燃料 并将汽油从 10 升加到 50 升。然后开车抵达目的地。 沿途在两个加油站停靠所以返回 2 。 参数 1 target, startFuel 109 0 stations.length 500 1 positioni positioni1 target 1 fueli 109 分析 加油站的位置已经按升序排序。 iCan 记录加油i次后能到达的最远位置。i 取值区间[0,stations.length] 第i1次加油一定是iPreCan(第i次加油的iCan)能到达且没有加油油量最大的加油站。 如果没有到达终点且无油可加返回-1。 代码 核心代码 class Solution { public:int minRefuelStops(int target, int startFuel, vectorvectorint stations) {int iCan startFuel;priority_queueint canAdd;int j 0;for (int i 0; i stations.size(); i){if (iCan target){return i;}//canAdd能加油的加油站while ((j stations.size()) (stations[j][0] iCan)){canAdd.emplace(stations[j][1]);}if (canAdd.empty()){return -1;}iCan canAdd.top();canAdd.pop();}return (iCan target) ? stations.size() : -1;} };测试用例 templateclass T void Assert(const T t1, const T t2) {assert(t1 t2); }templateclass T void Assert(const vectorT v1, const vectorT v2) {if (v1.size() ! v2.size()){assert(false);return;}for (int i 0; i v1.size(); i){Assert(v1[i], v2[i]);}}int main() { int target, startFuel;vectorvectorint stations;{Solution sln;target 1, startFuel 1, stations {};auto res sln.minRefuelStops(target, startFuel, stations);Assert(res, 0);}{Solution sln;target 100, startFuel 1, stations { {10,100} } ;auto res sln.minRefuelStops(target, startFuel, stations);Assert(res, -1);}{Solution sln;target 100, startFuel 10, stations { {10, 60},{20, 30},{30, 30},{60, 40} };auto res sln.minRefuelStops(target, startFuel, stations);Assert(res, 2);} {Solution sln;target 100, startFuel 50, stations { {25, 25},{50, 50} };auto res sln.minRefuelStops(target, startFuel, stations);Assert(res, 1);}}2023年1月第一版 class Solution { public: int minRefuelStops(int target, int startFuel, vectorvector stations) { std::unordered_mapint,int preDp; preDp[0] startFuel; int iPrePos 0; for (auto v : stations) { std::unordered_mapint, int dp; for (auto pre : preDp) { const int iHasFuel pre.second - (v[0] - iPrePos); if (iHasFuel 0 ) { continue; } Add(dp, pre.first, iHasFuel); Add(dp, pre.first1, iHasFuel v[1]); } preDp.swap(dp); iPrePos v[0]; } int iMinNum INT_MAX; for (auto pre : preDp) { const int iHasFuel pre.second - (target - iPrePos); if (iHasFuel 0) { continue; } iMinNum min(iMinNum, pre.first); } return (INT_MAX iMinNum) ? -1 : iMinNum; } void Add(std::unordered_mapint, int dp, int iNum, int iFuel) { iFuel min(iFuel, 1000 * 1000 * 1000); auto it dp.find(iNum); if (dp.end() it) { dp[iNum] iFuel; } else { it-second max(it-second, iFuel); } } }; 2023年1月 第二版 class Solution { public: int minRefuelStops(int target, int startFuel, vectorvector stations) { m_iFuel startFuel; for (auto v : stations) { Add(v[0]); if (m_iFuel v[0]) { return -1; } m_qFuel.push(v[1]); } Add(target); if (m_iFuel target) { return -1; } return stations.size() - m_qFuel.size(); } void Add(int iNeedFuel) { while (m_qFuel.size() (m_iFuel iNeedFuel)) { m_iFuel m_qFuel.top(); m_qFuel.pop(); } } std::priority_queue m_qFuel; int m_iFuel; }; 2023年 8月版 class Solution { public: int minRefuelStops(int target, int startFuel, vectorvector stations) { stations.emplace_back(vector{target, 0}); int iRet 0; std::multiset setCanAdd; int iHas startFuel; for (const auto v : stations) { while (setCanAdd.size() (iHas v[0])) {//油不够需要加油 iHas *setCanAdd.rbegin(); setCanAdd.erase(std::prev(setCanAdd.end())); iRet; } if (iHas v[0]) { return -1; } setCanAdd.emplace(v[1]); } return iRet; } }; 扩展阅读 视频课程 有效学习明确的目标 及时的反馈 拉伸区难度合适可以先学简单的课程请移步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 C17 或者 操作系统win10 开发环境 VS2022 C17 如无特殊说明本算法用**C**实现。
http://www.zqtcl.cn/news/168140/

相关文章:

  • 大庆网站设计衡阳seo网站推广
  • 基层科普网站建设的现状自己做的网站怎样链接数据库
  • 网站建设工程师的职位要求化妆品行业网站开发
  • 做海报有什么素材网站知乎什么样的蓝色做网站做好看
  • 餐饮网站建设网站wordpress优酷视频插件下载
  • 什么网站做广告效果好wordpress中文cms
  • seo与网站优化广州洲聚网站开发
  • 建一个自己用的网站要多少钱北京网站建设价格天
  • 免费做婚礼邀请函的网站如何设定旅游网站seo核心关键词
  • 网上做问卷调查赚钱哪些网站好全flash网站制作
  • 个人网站备案核验单填写wordpress登录安全插件下载
  • 拖拽做网站cms系统设计
  • 村建站什么部门网站建设步骤图
  • 移动端网站建设的意义中工信融网站建设
  • 网站设计宽屏尺寸盐城网站建设渠道合作
  • 网站所有者查询hexo做网站
  • 杭州专业网站设计策划大数据网站建设和
  • 建一个自己的网站需要多少钱泰州网站快速排名优化
  • 企业网站的建设企业湖南网络推广
  • 山西省建设厅投诉网站郴州新网交友手机版
  • 营销网站建设是什么flash个人网站欣赏
  • 网站建设最简单的教程视频教程建设厅注册中心网站首页
  • 免费做网站凡科wordpress 分享到微信 插件
  • 购物网站项目建设内容有啥网站是专做时尚穿搭
  • 网上下载的网站模板怎么用wordpress 注册密码
  • 网站建设免费国外撤销网站备案申请书
  • 佛山做网站那家好网站建设公司如何盈利
  • 傻瓜建网站设计感网站
  • 北京网站优化软件陕西省建筑信息平台
  • 广州越秀建网站济南房产网新开楼盘