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

建设网站网址是多少安阳房产网

建设网站网址是多少,安阳房产网,中信建设有限责任公司 陈晓佳,php构建网站目录 1、2、有序三元组的最大值 - 预处理前后最大值 遍历 (1)预处理前后值遍历(枚举j) (2)枚举k 2、无限数组的最短子数组 - 前缀和 滑动窗口 1、2、有序三元组的最大值 - 预处理前后最大值 遍历 …

目录

1、2、有序三元组的最大值 - 预处理前后最大值 + 遍历

(1)预处理前后值+遍历(枚举j) 

(2)枚举k

2、无限数组的最短子数组 - 前缀和 + 滑动窗口


1、2、有序三元组的最大值 - 预处理前后最大值 + 遍历

2874. 有序三元组中的最大值 II

(1)预处理前后值+遍历(枚举j) 

思路:

这题思路跟第368场的100114. 元素和最小的山形三元组 II很像

我自己写的!

我们可以预处理nums[j]的前后最大值pre[j]和beh[j](在【1,n-2】范围内)

然后枚举【1,n-2】区间的(pre[i] - nums[i])* beh[i],更新最大值即可

这样可以保证ijk的下标顺序,也能顺利找到最大值

class Solution {public long maximumTripletValue(int[] nums) {long maxx=0;int n=nums.length;int[] pre=new int[n],beh=new int[n];pre[0]=nums[0];beh[n-1]=nums[n-1];for(int j=1;j<n-1;j++)if(nums[j-1]>pre[j-1]) pre[j]=nums[j-1];else pre[j]=pre[j-1];for(int j=n-2;j>0;j--)if(nums[j+1]>beh[j+1]) beh[j]=nums[j+1];else beh[j]=beh[j+1];for(int j=1;j<n-1;j++)maxx=Math.max(maxx,(long)(pre[j]-nums[j])*beh[j]);return maxx==0? 0:maxx;}
}

(2)枚举k

思路:

我们枚举k,然后维护k左边(nums[i]-nums[j])的最大值

我们可以在遍历的过程中,维护 nums[i]的最大值 preMax,同时维护preMax 减当前元素的最大值 maxDiff,这就是 k 左边 nums[i]−nums[j] 的最大值。

class Solution {public long maximumTripletValue(int[] nums) {long maxx=0;int premaxdiff=0,premax=0;for(int x:nums){maxx=Math.max(maxx,(long)premaxdiff*x);premaxdiff=Math.max(premaxdiff,premax-x);premax=Math.max(premax,x);}return maxx==0? 0:maxx;}
}

 

2、无限数组的最短子数组 - 前缀和 + 滑动窗口

2875. 无限数组的最短子数组

思路:

第一次思路跟灵神一样!激动!

设sum为数组值之和

因为求的是子数组的和,因此可以用前缀和优化

无穷个拼接数组,实际上就是【某后段+中间完整段+某前段】,中间完整段之和是固定的

因此我们可以只考虑两端拼接后的数组newnums,找newnums中子数组之和 = target%sum 的最短元素个数minx,最后答案返回minx+中间段数*数组元素个数即可

当我们去掉中间完整段后,找满足条件的最小子数组长度可以用滑动窗口

class Solution {public int minSizeSubarray(int[] nums, int target) {int n=nums.length,res=Integer.MAX_VALUE;long tol=0;int[] s=new int[2*n+1];for(int i=1;i<=2*n;i++) s[i]=s[i-1]+nums[(i-1)%n]; //求两段连起来的数组的前缀和int st=0;for(int ed=0;ed<2*n;ed++) //滑动窗口求最短元素个数{tol=s[ed+1]-s[st];while(tol>target%s[n]){tol-=nums[st++%n];}if(tol==target%s[n]) res=Math.min(res,ed-st+1);}return res==Integer.MAX_VALUE? -1:res+(int)(target/s[n])*n; //最后再加上中间省略的完整段}
}

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

相关文章:

  • 网站创建软件建筑设计总说明模板
  • 武昌网站制作建设创建集团上海公司网站
  • 建设银行包头分行网站wordpress怎么建app
  • 株洲建设企业网站企业电话认证
  • 什么网站可以做高数wordpress 企业整站源码
  • 网站正能量免费下载网站菜单栏代码
  • 古交市网站建设公司免费制作单页的网站
  • 平台商城网站开发中信建设有限责任公司总监
  • 化学网站建设沈阳建设银行网站
  • 政务公开和网站建设情况重庆网站建设有限公司
  • 南通网站建设公司排名网站建设实训室
  • 网站域名有效期郑州高端网站开发
  • 网站目录提交做的很好的淘宝客网站
  • c 开发手机网站开发网站其它方面seo情况
  • 做网站需要学什么语言网页设计与制作教程第4版
  • 做亚马逊常用的网站北京单页营销型网站
  • 博物馆网站微信公众号建设com天堂网
  • 南京网站制作学校网站页面设计需求
  • 网站建设与管理工作内容办公室设计装
  • 铁常乐个人网站网架加工工厂图片
  • 网站开发小图片网络安全服务机构
  • 做网站要做相应的app吗滑县网站建设
  • 公司想做个网站怎么办怎么在网站做支付端口对接
  • 滨州网站建设phpi兰州网络推广服务合同
  • 一般什么行业做网站的多个人求职网页制作
  • 韩国手机网站模板国家企业信息公示网查询官网网址
  • 中小企业网站建设济南兴田德润o厉害吗用python怎么做网站
  • 网站开发业务规划食品经营许可证
  • 荣耀手机商城官方网站荣耀60pro建立wordpress网站吗
  • 网站头部导航代码网页设计怎么写