leetcode周赛352

news2024/11/25 7:42:09

leetcode周赛352

1. 最长奇偶子数组

在这里插入图片描述
思路分析

  • 这是一道变形的双指针题目我们可以使用相关算法模板基础上来书写
  • 左边界:偶数,且小于值threshold;所以我们需要寻找符合要求的左边界
  • 判断是否奇偶相间:只有 奇数+偶数=奇数
class Solution {
    static int[] arr;
    static int thre;
    public int longestAlternatingSubarray(int[] nums, int threshold) {
        int maxlen=0;//用来记录答案
        arr=nums;
        thre=threshold;
        int j=0;
        j=getl(j);
        //维持一个[]的区间
        for(int i=j;i<arr.length;i++){//枚举右边界
            //特判i为0的情况
            if(i==j && nums[i]<=thre){
                maxlen=Math.max(maxlen,i-j+1);
                }else if(i!=j && (nums[i]+nums[i-1])%2!=0 && nums[i]<=thre){
          
                maxlen=Math.max(maxlen,i-j+1);
            }else if(nums[i]>thre || (nums[i]+nums[i-1])%2==0){//不符合条件,j重置
                j=getl(i);//重置左边界   
            }
            
        }
        return maxlen;
    }
    //从当前位置开始符合左边界条件的下一个坐标
    public static int getl(int j){
        int len=arr.length;
        while(j<len && (arr[j]%2!=0 || arr[j]>thre))j++;
        return j;
    }

2.和等于目标的质数对

在这里插入图片描述
思路分析

  • 这里我们只需要遍历一遍数组即可
  • 且只需要遍历一半
  • 质数判断:试除法
class Solution {
    public List<List<Integer>> findPrimePairs(int n) {
        List<List<Integer>> ans=new ArrayList<>();
        if(n<=2)return ans;
        int num=11;
        for(int i=2;i<=n/2;i++){
            List<Integer> t=new ArrayList<>();
            if(check(i)&&check(n-i)){
                t.add(i);
                t.add(n-i);
                ans.add(t);
            }
            
        }
        return ans;

    }
    //试除法,判断一个数是不是质数
    public static boolean check(int num){
        //1,2进行判
        if(num<3)return true;
        for(int i=2;i*i<=num;i++){
            if(num%i==0)return false;
        }
        return true;
        
    }
}

3.不间断的子数组

在这里插入图片描述
思路分析

  • 对于计数问题,我们最重要的就是及进行分类,可以不重不漏的进行统计
  • 我们以子数组的右边界进行分类,每一类的数目为 right-left+1
  • 接下来我们就需要找出所有符合条件的数组,我们可以使用滑动窗口算法
  • 我们需要维护的有,最大值,最小值,窗口各值得数目
  • 所以我们使用TreeMap
class Solution {
    public long continuousSubarrays(int[] nums) {
        long res=0;
        TreeMap<Integer,Integer> map=new TreeMap<>();
        int j=0;//左边界
        for(int i=0;i<nums.length;i++){
            map.merge(nums[i],1,Integer::sum);
            while(j<nums.length && Math.abs(map.lastKey()-map.firstKey())>2){
                int y=nums[j];
                j++;
                if(map.get(y)==1)map.remove(y);
                else map.merge(y,-1,Integer::sum);

            }
            res+=i-j+1;
        }
        return res;
    }
}

题目四

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/721061.html

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

相关文章

国产MCU-CW32F030开发学习--移植rtthread-nano

国产MCU-CW32F030开发学习–移植rtthread-nano 硬件平台 CW32_48F大学计划板CW32_IOT_EVA物联网开发评估套件 RT-Thread Nano RT-Thread Nano 是一个极简版的硬实时内核&#xff0c;它是由 C 语言开发&#xff0c;采用面向对象的编程思维&#xff0c;具有良好的代码风格&…

git clone 丢东西

1. git clone 丢东西 使用git clone https://gitee.com/123456789/123456789.git 克隆gitee 远程库上的代码发现少了一部分&#xff0c;只克隆了一部分下来&#xff0c;反复删除重新克隆都是一样的结果 2. 克隆下来后的文件&#xff0c;该目录下只有5 个文件&#xff0c;少了…

一文读懂北斗三号短报文!通信频度、电文长度、北斗民用智能卡申请、典型终端全面介绍

一、北斗短报文概述 北斗卫星导航系统&#xff08;Beidou Navigation Satellite System&#xff09;是中国自主研发和建设的全球卫星导航系统。该系统由一系列卫星、地面监控站和用户终端组成&#xff0c;旨在提供高精度、高可靠性的定位、导航和授时服务。北斗卫星导航系统的发…

QT编写的数字键盘

https://download.csdn.net/download/qq_20189555/88001237

Heroku 实践:如何成功将 Vue.js 的前端内容部署到 Heroku

文章目录 Vue.js 脚手架安装Vue CLI&#xff08;如果你还没有安装&#xff09;&#xff1a;创建新项目 Heroku 部署 Vue2项目目录server.jspackage.json创建 Procfile按照 heroku 的引导初始化 git 并提交代码 可能问题 Vue.js 脚手架 首先要使用 Vue 的脚手架来创建一个 vue …

nodeJs学习笔记

创建服务器 在根目录下创建server.js的文件&#xff0c;里面写如入以下代码&#xff1a; // 请求nodejs自带的http模块 var http require(http);http.createServer(function (request, response) {// 发送 HTTP 头部 // HTTP 状态值: 200 : OK// 内容类型: text/plainrespon…

Update the WSL kernel by running “wsl --update“ or……【老电脑装Docker】

给老电脑装Docker遇到了这个问题记录一下 Update the WSL kernel by running “wsl --update” or follow instructions at https://docs.microsoft.com/windows/wsl/wsl2-kernel. 打开Docker一直报这个界面&#xff0c;然后就退出 根据上面的意思&#xff0c;试着更新了下 …

汇编学习教程:走进 bp

引言 此前我们学习了 bp 寄存器&#xff0c;我们知道 bp 的作用是为访问栈空间数据提供方便&#xff0c;其默认绑定的段寄存器就是 SS 段寄存器。在此前的博文中博主提及到&#xff0c;bp 的作用其实不止方便访问栈空间数据这一条&#xff0c;对于栈如此重要的空间&#xff0c…

区块链技术:解锁未来的去中心化革命

在数字时代的浪潮中&#xff0c;区块链技术如一颗璀璨的明星崛起&#xff0c;被誉为解锁未来的去中心化革命。作为一种分布式账本技术&#xff0c;区块链不仅改变着传统商业模式&#xff0c;还催生了全新的经济形态和社会关系。本文将从技术原理、应用场景和前景展望三个方面&a…

spring security权限路由匹配restful格式的详情id设计

解决方案&#xff1a; 先直接说下解决方案&#xff0c;权限点设计成如下&#xff1a; /api/books/{id:\d*}问题描述&#xff1a; 获取书本详情的标准restful路由&#xff0c;一般是这样的/api/books/12&#xff0c; 12即该book的id&#xff0c;如果需要拥有访问该路由的权限…

【C语言初阶】带你轻松掌握指针基础知识(1)——指针的定义,类型,大小

君兮_的个人主页 勤时当勉励 岁月不待人 C/C 游戏开发 Hello&#xff0c;这里是君兮_&#xff0c;最近刚回家有点懒&#xff0c;从今天开始恢复更新并开始更新新的刷题系列&#xff0c;我们先继续更新0基础入门C语言的内容&#xff0c;今天给大家带来的是指针方面的内容&…

【MYSQL基础】MYSQL用户管理

MYSQL用户管理 数据库的root用户拥有操作数据库的所有权限&#xff0c;如果要团队协作开发&#xff0c;为了避免有成员误操作&#xff0c;可以给成员创建一个权限较低的用户账号 创建用户 create user 用户名 identified by ‘密码’; mysql> create user dam identified …

数据劫持大揭秘:Vue的隐形力量和无限可能

文章目录 1. 初始化阶段2. 响应式侦测器3. 数据劫持4. 模板编译5.总结 Vue.js 通过数据劫持实现了数据的双向绑定。它使用了一个名为 “响应式系统” 的机制来追踪和响应数据的变化&#xff0c;从而自动更新相关的视图。 Vue 的数据劫持原理主要分为以下几个步骤&#xff1a; …

main函数和其他函数

##什么是main函数函数就很敏感&#xff0c;在我认为的函数函数就是功能 有系统给的也有自己写的 函数就是一个封装好的功能 function 函数&#xff0c;功能。main函数 ![在这里插入图片描述](https://img-blog.csdnimg.cn/9a92f39cf6a842f5a56dbc1689012ceb.png 函数的参数&am…

高压放大器工作原理以及参数介绍

高压放大器是一种电子器件&#xff0c;其主要作用是将输入信号的电压放大到输出端。由于高压放大器的输入和输出端的电平差很大&#xff0c;因此需要使用特殊的材料和技术来保证电路的可靠性和稳定性。下面我们就来详细介绍一下高压放大器的工作原理和参数介绍。 图&#xff1a…

推荐4款好用的在线作图软件,可一键安装

本文将介绍4个功能强大又可以免费使用的在线作图软件&#xff0c;可以帮助设计师更快地完成绘图工作&#xff0c;一起来看看吧&#xff01; 1.即时设计 即时设计是一款功能强大的在线作图软件&#xff0c;它提供了丰富的绘图工具、层管理和样式库&#xff0c;让设计师可以轻松…

集群 第二章

目录 1.DR 模式 LVS 负载均衡群集部署 2.总结 1.DR 模式 LVS 负载均衡群集部署 DR 服务器&#xff1a; 192.168.83.104 NFS服务器&#xff1a; 192.168.83.103 Web 服务器1&#xff1a; 192.168.83.102 Web 服务器2&#xff1a; 192.168.83.101 …

(八)解析函数的无穷可微性与 Cauchy 型积分定理

本文主要内容包括&#xff1a; 1. 解析函数的无穷可微性1.1. 解析函数的高阶导数1.2. 导数估计式 —— Cauchy 不等式1.3. Liouville 定理1.4. 代数基本定理的一种证明 2. Cauchy 型积分定理2.1. Cauchy 型积分2.2. Cauchy 型积分定理 1. 解析函数的无穷可微性 1.1. 解析函数的…

状态检测防火墙

状态检测防火墙原理 对于已经存在会话表的报文的检测过程比没有会话表的报文要短很多。通过对一条连接的首包进行检测并建立会话后,该条连接的绝大部分报文都不再需要重新检测。这就是状态检测防火墙的“状态检测机制”,相对于包过滤防火墙的“逐包检测机制”的改进之处。这种…

黑马点评(达人探店)

达人探店 一、发布探店笔记 发布探店笔记功能是项目本身就完成了的功能&#xff0c;他会把图片存在本地&#xff0c;有兴趣可以去看源码&#xff0c;在UploadCOntroller类下 二、查看探店笔记 这个功能项目本身是没有完成这个接口的&#xff0c;所以需要我们自己去完成。 …