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

苏州网站制作排名优化几十万做网站平台

苏州网站制作排名优化,几十万做网站平台,jsp网站开发四 酷 全书源码,建立网站的目录结构时最好的做法是文章目录 Tag题目来源题目解读解题思路方法一#xff1a;滑动窗口 写在最后 Tag 【滑动窗口】【数组】【2023-11-19】 题目来源 689. 三个无重叠子数组的最大和 题目解读 解题思路 方法一#xff1a;滑动窗口 单个子数组的最大和 我们先来考虑一个长度为 k 的子数组的最… 文章目录 Tag题目来源题目解读解题思路方法一滑动窗口 写在最后 Tag 【滑动窗口】【数组】【2023-11-19】 题目来源 689. 三个无重叠子数组的最大和 题目解读 解题思路 方法一滑动窗口 单个子数组的最大和 我们先来考虑一个长度为 k 的子数组的最大值与取得最大值时的初始位置。可以使用固定长度的滑动窗口来解决本题。 滑动窗口是数组和字符串等问题中常用的一个概念。利用滑动窗口可以去掉重复的运算从而降低时间复杂度。滑动窗口的 “滑动” 指的是窗口每次向右移动一个位置那么该窗口内的就会增加原窗口右侧的元素并且会减少原窗口左端点的元素。 我们从数组 [0, k-1] 区间开始不断地向右滑动窗口直至窗口右端点到达数组末尾时停止。统计这一过程中长度为 k 的窗口内元素和 sum1 的最大值记为 maxSum1及其对应位置。 实现代码为 class Solution { public:vectorint maxSumOfOneSubarray(vectorint nums, int k) {vectorint ans;int sum1 0, maxSum1 0;for (int i 0; i nums.size(); i) {sum1 nums[i];if (i k - 1) {if (sum1 maxSum1) {maxSum1 sum1;ans {maxSum1, i - k 1};}sum1 - nums[i - k 1];}}return ans;} };两个子数组的最大和 我们可以仿照 单个子数组的最大和 问题的解题方法使用两个固定长度的滑动窗口来求解 两个子数组的最大和。 设 sum1 为第一个滑动窗口的元素和该滑动窗口从 [0, k - 1] 开始sum2 为第二个滑动窗口的元素和该滑动窗口从 [k, 2*k - 1] 开始。我们同时向右滑动这两个窗口并维护 sum1 的最大值 maxSum1 及其对应位置。每次滑动时记录当前的 maxSum1 与 sum2 之和。统计这一过程中的 maxSum1 sum2 的最大值记作 maxSum12及其对应位置。 实现代码为 class Solution { public:vectorint maxSumOfTwoSubarrays(vectorint nums, int k) {vectorint ans;int sum1 0, maxSum1 0, maxSum1Idx 0;int sum2 0, maxSum12 0;for (int i k; i nums.size(); i) {sum1 nums[i - k];sum2 nums[i];if (i k * 2 - 1) {if (sum1 maxSum1) {maxSum1 sum1;maxSum1Idx i - k * 2 1;}if (maxSum1 sum2 maxSum12) {maxSum12 maxSum1 sum2;ans {maxSum1Idx, i - k 1};}sum1 - nums[i - k * 2 1];sum2 - nums[i - k 1];}}return ans;} };三个子数组的最大和 在本题中可以使用三个长度为 k 的滑动窗口。设 sum1 为第一个滑动窗口的元素和该滑动窗口从 [0, k - 1] 开始sum2 为第二个滑动窗口的元素和该滑动窗口从 [k, 2*k - 1] 开始sum3 为第三个滑动窗口的元素和该滑动窗口从 [2*k, 3*k - 1] 开始。 我们同时向右滑动这三个窗口并维护 maxSum12 及其对应位置。每次滑动时记录当前的 maxSum12 与 sum3 之和。统计这一过程中的 maxSum12 sum3 的最大值记作 maxTotal及其对应位置。 对于题目要求的最小字典序由于我们是从左向右遍历的并且仅当元素和超过最大元素和时才修改最大元素和从而保证求出来的下标列表是字典序最小的。 复杂度分析 class Solution { public:vectorint maxSumOfThreeSubarrays(vectorint nums, int k) {vectorint res;int sum1 0, maxSum1 0, maxSum1Idx 0;int sum2 0, maxSum12 0, maxSum12Idx1 0, maxSum12Idx2 0;int sum3 0, maxTotal 0;for (int i 2 * k; i nums.size(); i) {sum1 nums[i - 2 * k];sum2 nums[i - k];sum3 nums[i];if (i 3 * k - 1) {if (sum1 maxSum1) {maxSum1 sum1;maxSum1Idx i - 3 * k 1; }if (maxSum1 sum2 maxSum12) {maxSum12 maxSum1 sum2;maxSum12Idx1 maxSum1Idx;maxSum12Idx2 i - 2 * k 1;}if (maxSum12 sum3 maxTotal) {maxTotal maxSum12 sum3;res {maxSum12Idx1, maxSum12Idx2, i - k 1};}sum1 - nums[i - 3 * k 1];sum2 - nums[i - 2 * k 1];sum3 - nums[i - k 1];}}return res;} };复杂度分析 时间复杂度 O ( n ) O(n) O(n)。 空间复杂度 O ( 1 ) O(1) O(1)。 写在最后 如果文章内容有任何错误或者您对文章有任何疑问欢迎私信博主或者在评论区指出 。 如果大家有更优的时间、空间复杂度方法欢迎评论区交流。 最后感谢您的阅读如果感到有所收获的话可以给博主点一个 哦。
http://www.hkea.cn/news/14313938/

相关文章:

  • 红色网站呢怎样在赶集微网站做微招聘
  • 网站开发常用的开发工具企业邮箱怎么申请账号
  • 做网站学注册保险代理公司需要什么条件
  • 邯郸企业网站建设费用深圳市深企在线技术开发有限公司
  • 用图片做简单网站网络营销的主要传播渠道是
  • 云主机重装系统后网站重新部署吗做推文网站
  • 隆尧网站生活信息网站建设
  • 免费开源企业网站程序wordpress邮箱插件
  • 上海黄金网站设计浅谈旅游网站的规划与建设
  • 网站开发系统计划书wordpress 搭建网站
  • 怎么备份网站模板网站建设为什么要全款
  • 在一个网站上面发布广告怎么做做网站实验报告
  • 演讲网站开发背景营销推广型网站价格
  • 梅林做网站wordpress 宅男猫网站
  • 如何在建设银行网站查验回单静态网站更新文章麻烦
  • 网站设计实训心得做网站 租服务器
  • 怎么查询公司网站备案网站备案 电信
  • 做外贸什么网站比较好做无锡个人网站制作
  • a站是啥wordpress模版post.php
  • 楚雄网站开发微软网站做u盘启动教程
  • 免费简单门户网站开发网站页面策划模板下载
  • 汕头个人网站建设图片转链接在线转换
  • 适合html初学者做的网站个人主页怎么找
  • 建网站哪个公司好厦门模板建站系统
  • 企业网站优化服务主要围绕哪些要素?为什么?建个网站有什么用
  • 山东省住房和城乡建设厅注册中心网站优化大师win10能用吗
  • 广州网站公司建设网站广州建外贸网站
  • 外贸企业网站对外贸的重要性大学 英文网站建设
  • 做盗版视频网站成本多少钱vs2015做简单网站
  • 网站设计工程师重庆网站建站系统平台