Leetcode周赛365补题(3 / 3)

news2024/11/13 14:46:47

目录

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.coloradmin.cn/o/1132562.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

linux环境下进程相关概念解释

进程 进程概念PCB(Process control block)进程组织查看进程ps 命令getpid()/getppid()kill -9 pid/ppidfork(&#xff09;为什么fork会有两个返回值&#xff1f;为什么父进程返回子进程的PID&#xff0c;而子进程返回0&#xff1f; linux下的进程状态Z进程孤儿进程 进程优先级查…

新风机小助手-风压变速器

风压变速器是一种用于调节系统中风量和风压的装置&#xff0c;常用于通风系统中。它通过改变进出风口的开度来调整风流的速度和风压。 风压变速器通常由进出风口和可调节的风门组成。风门可以手动或自动调节&#xff0c;控制进出风口的开度&#xff0c;从而改变风量和风压。根据…

数据结构和算法概述

什么是数据结构&#xff1f; 官方解释&#xff1a; 数据结构是一门研究非数值计算的程序设计问题中的操作对象&#xff0c;以及他们之间的关系和操作等相关问题的学科。 大白话&#xff1a; 数据结构就是把数据元素按照一定的关系组织起来的集合&#xff0c;用来组织和存储…

CSC联合培养|公共管理博士赴世界名校瑞士苏黎世联邦理工学院

A同学拟申报CSC联合培养博士项目&#xff0c;要求到专业契合的世界知名高校。最终我们用世界大学排名第7的瑞士苏黎世联邦理工学院邀请函&#xff0c;助其顺利获批CSC&#xff0c;并如期出国。 A同学背景&#xff1a; 申请类型&#xff1a; CSC联合培养博士 工作背景&#xf…

mysql查询最近7天 每天销售额 统计销售额

sql统计每一天的支出数目&#xff0c;支出金额&#xff0c;收入数目&#xff0c;收入金额 finance_type0&#xff1a;收入 finance_type1&#xff1a;支出 部分建表语句&#xff1a; CREATE TABLE finance (finance_id int(11) NOT NULL AUTO_INCREMENT COMMENT ID,finance_u…

Unity 项目中查找仅具有单一颜色的纹理

如何使用 只需在“项目”窗口中创建一个名为“编辑器”的文件夹&#xff0c;然后在其中添加此脚本即可。然后&#xff0c;打开“窗口-单色纹理检测器”并点击“刷新”。 你可能会问&#xff0c;为什么我需要这个&#xff1f;某些纹理可以是 1024x1024 或更大&#xff0c;并且…

PHPstorm 安装汉化包失败解决方法

出错的原因是官方的包和软件的版本不对应&#xff0c;下载对应的汉化包就行了 官网汉化包下载地址https://plugins.jetbrains.com/plugin/13710-chinese-simplified-language-pack----/versions 下载对应ide版本的包&#xff0c;我下载了一个2020版的 放到安装软件的plugins文…

纺织辅料经营小程序商城的作用是什么

数字化时代&#xff0c;各个行业都在通过线上转型实现新增长&#xff0c;纺织辅料厂商也一样&#xff0c;需要通过线上化实现与客户的面对面交流有利于打造品牌及构建私有化流量池&#xff0c;但无论入驻哪家电商平台及垂直行业平台&#xff0c;都有不少的佣金及入驻费。 可通过…

h750错误记录 卡死 ,18b20数据读取失败 解决办法

1.程序运行没反应 &#xff0c;debug发现卡死到 b. **> 解决办法&#xff0c;中断函数缺失&#xff0c;添加即可 2.stm32h750对18b20 读取数据失败 由于hal库没有 微秒延时&#xff0c;故采用nop&#xff08; &#xff09;函数来进行延时&#xff0c;死活读不到温度数据&…

UG\NX二次开发 分享“一键清除高亮工具”的源代码

文章作者:里海 来源网站:王牌飞行员_里海_里海NX二次开发3000例,里海BlockUI专栏,C\C++-CSDN博客 感谢粉丝订阅 感谢 Trust_MJ 订阅本专栏,非常感谢。 简介 一键清除高亮工具,这个工具怎么开发呢?遍历对象使用UF_DISP_set_highlight()吗?下面分享一种最简单的方法: 效果…

跨境电商必备指南:教你轻松玩转Facebook聊单

Facebook作为全球最大的社交媒体平台之一&#xff0c;拥有数十亿的用户。这样庞大的客户群体为出海企业营销提供了巨大的潜力&#xff0c;无论是中小型的企业还是大型的跨国公司&#xff0c;Facebook都是一个有助于建立品牌形象的平台。企业可以在上面与用户互动、推广产品和服…

抄表系统是如何抄到电表水表的数据的?

抄表系统是一种利用无线通信技术&#xff0c;实现远程读取电表水表数据的系统。抄表系统主要由三部分组成&#xff1a;电表水表、集中器和后台管理平台。接下来&#xff0c;小编来为大家详细的介绍下抄表系统是如何抄到电表水表的数据的&#xff0c;一起来看下吧! 电表水表是抄…

餐饮外卖小程序商城的作用是什么

随着互联网及线上餐饮的发展趋势&#xff0c;行业洗牌正在加速&#xff0c;并且对餐饮连锁门店提出更高要求&#xff0c;餐饮数字化转型加快&#xff0c;积极发展线上经营是不少餐饮商家的首选。这其中&#xff0c;餐饮外卖商城成为很多餐饮品牌的线上经营品牌&#xff0c;也是…

k8s客户端配置

K8s客户端安装 前提 K8s服务部署成功&#xff0c;如下 角色 IP地址 操作系统 主机名 Kubernetes版本 master节点 172.16.4.167 CentOS 7.9 k8s-master01 v1.28.2 工作节点1 172.16.4.168 CentOS 7.9 k8s-worker01 v1.28.2 工作节点2 172.16.4.169 CentOS 7.9…

【蓝桥】通关

1、题目 问题描述 游戏“蓝桥争霸”由很多关卡和副本组成&#xff0c;每一关可以抽象为一个节点&#xff0c;整个游戏的关卡可以抽象为一棵树形图&#xff0c;每一关会有一道算法题&#xff0c;只有当经验值不低于第 i i i 关的要求 k i k_i ki​ 时&#xff0c;小蓝才能挑…

SAP-怎么查一个工艺路线抬头特性值用在了哪个工艺路线里

起因 在DEV里写了个报表&#xff0c;用生产订单关联工艺路线&#xff0c;关联特性值的时候发现特性值维护的和PRD里不一样&#xff0c;PRD里&#xff0c;这个特性值在“值”标签里定义了选项&#xff0c;而DEV里却没有&#xff0c;于是乎就想把它补过来。然而保存存的时候报错…

Echarts 实现 设备运行状态图(甘特图) 工业大数据展示

let option{tooltip: {formatter: function (params) {let startTime new Date(params.value[1])let endTime new Date(params.value[2]);//北京时间/时间戳转成日常时间function convert(date){var y date.getFullYear();var m date.getMonth() 1;m m < 10 ? "0…

基于边缘智能网关的储能系统安全监测管理方案

“储能系统充电”是配套新能源汽车产业发展的重要应用之一。得益于电池技术的发展&#xff0c;新能源汽车正逐步迈入快充时代&#xff0c;由于在使用快速充电桩时&#xff0c;可能导致用电峰值负荷超过电网的承载能力&#xff0c;对于电网的稳定性和持续性会有较大影响&#xf…

【智能大数据分析】实验1 MapReduce实验:单词计数

【智能大数据分析】实验1 MapReduce实验&#xff1a;单词计数 文章目录 【智能大数据分析】实验1 MapReduce实验&#xff1a;单词计数一、实验目的二、实验要求三、实验原理1 MapReduce编程2 Java API解析 四、实验步骤1 启动Hadoop2 验证HDFS上没有wordcount的文件夹3 上传数据…

云安全-对象存储安全(配置错误,域名接管,AK泄露)

0x00 云安全-对象存储 云安全厂商分类&#xff1a;阿里云&#xff0c;腾讯云&#xff0c;华为云&#xff0c;亚马逊云等 云厂商所对应的云服务包括&#xff1a;对象存储&#xff0c;云数据库&#xff0c;弹性计算服务&#xff08;云主机&#xff09;&#xff0c;云控制台 各厂…