【LeetCode周赛】第 386 场周赛

news2025/3/1 3:52:33

目录

  • 3046. 分割数组 简单
  • 3047. 求交集区域内的最大正方形面积 中等
  • 3048. 标记所有下标的最早秒数 I 中等

3046. 分割数组 简单

3046. 分割数组

分析:
查看数组内有没有重复超过2次的数即可。

代码:

class Solution {
public:
    bool isPossibleToSplit(vector<int>& nums) {
        unordered_map<int,int> m;
        for(int& num : nums){
            m[num]++;
            if(m[num]>2) return false;
        }
        return true;
    }
};


3047. 求交集区域内的最大正方形面积 中等

3047. 求交集区域内的最大正方形面积

分析:
枚举两个正方形,判断是否有交集。
下图为两个存在相交面积的正方形,其对应边的坐标如下图。
在这里插入图片描述

注意:

  • 取得是交集区域内的正方形面积,因此只需要去最小边长即可。
  • 注意没有交集时,最小边长为 0

代码:

class Solution {
public:
    long long largestSquareArea(vector<vector<int>>& bottomLeft, vector<vector<int>>& topRight) {
        int n = bottomLeft.size(),ans=0;
        for(int i=0;i<n;i++){
            for(int j=i+1;j<n;j++){
                int i_b=bottomLeft[i][1],i_l=bottomLeft[i][0],i_t=topRight[i][1],i_r=topRight[i][0];
                int j_b=bottomLeft[j][1],j_l=bottomLeft[j][0],j_t=topRight[j][1],j_r=topRight[j][0];
                int b=max(i_b, j_b),l=max(i_l, j_l),t=min(i_t, j_t),r=min(i_r, j_r);
                ans = max(ans,min(max(t-b, 0), max(r-l, 0)));
            }
        }
        return 1LL*ans*ans;
    }
};


3048. 标记所有下标的最早秒数 I 中等

3048. 标记所有下标的最早秒数 I

分析:
若要判断 m 的时间是否能完成

  • 1、判断1...m是否出现了所有的下标
  • 2、根据每个下标最后出现的先后顺序进行判断,假设前面全是该下标的 nums[i] 减小1,以及先出现的下标的 nums[j] 减小1和 j 的标记,判断该情况下是否能标记。

对于m我们能判断,此时我们可以利用二分来寻找最小的能标记所有下标的秒数。

代码:

class Solution {
public:
    int earliestSecondToMarkIndices(vector<int>& nums, vector<int>& changeIndices) {
        int n=nums.size(), m=changeIndices.size();
        auto check = [&](int k) -> bool{
            int cnt = 0;
            vector<int> index(n,-1);
            for(int i=0;i<k;i++){
                int t = changeIndices[i];
                if(index[t-1]==-1) cnt++;
                index[t-1]=i;
            }
            if(cnt<n) return false;
            vector<pair<int,int>> p;
            for(int i=0;i<n;i++){
                p.push_back({index[i],i});
            }
            sort(p.begin(),p.end(),[](pair<int, int>& a, pair<int, int>& b){
                return a.first < b.first;
            });
            int last = -1, remain = 0;
            for(int i=0;i<n;i++){
                int id = p[i].second, cid = p[i].first, c = nums[id];
                if(cid - last - 1 + remain < c) return false;
                remain = cid - last - 1 + remain - c, last = cid;
            }
            return true;
        };
        int l=1, h=m, ans=-1, mid;
        while(l<=h){
            mid = (l+h)/2;
            if(check(mid)) h=mid-1, ans=mid;
            else l=mid+1;
        }
        return ans;
    }
};


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

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

相关文章

【GPTs分享】GPTs分享之Write For Me

Write For Me 是一个专门定制的GPT版本&#xff0c;旨在为用户提供高质量的文本内容创作服务。它适用于各种写作需求&#xff0c;从商业计划、学术文章到创意故事等。下面是从简介、主要功能、使用案例、优点和局限性几个方面对Write For Me 的详细介绍。 简介 Write For Me …

WPF 开发调试比较:Visual Studio 原生和Snoop调试控制台

文章目录 前言运行环境简单的WPF代码实现一个简单的ListBoxVisual Studio自带代码调试热重置功能测试实时可视化树查找窗口元素显示属性 Snoop调试使用Snoop简单使用调试控制台元素追踪结构树Visual/可视化结构树Logical/本地代码可视化树AutoMation/自动识别结构树 WPF元素控制…

统计学基础不强?参加六西格玛培训班提升学习效果

六西格玛培训是一种在管理学上非常重要的方法论和系统体系&#xff0c;它指导企业进行管理&#xff0c;并代表一种逻辑的、统计的和科学的思维方式。在许多企业中&#xff0c;如GE和霍尼韦尔&#xff0c;六西格玛培训已经成为企业发展战略的重要组成部分&#xff0c;并融入到企…

震惊!事业型男主竟徒手扳断月老搭的三条钢筋!

“月老&#xff0c;看看我啊” “月老我都27了&#xff0c;也帮帮我” 弹幕上满屏飘过“向月老求姻缘”的调侃&#xff0c;而动画里的男主李长寿却视而不见&#xff0c;一心埋头干事业。 自动画《师兄啊师兄》&#xff08;以下简称“师兄”&#xff09;第一季开播霸榜优酷多个…

NotePad2轻便够用的文本编辑器

下载方式&#xff1a; 360软件管家里就可以安装&#xff0c;非常的方便。 打开后&#xff0c;界面如下&#xff1a; 可以拖拽打开文本&#xff0c;和notepad的功能差不多&#xff0c;可以平行替代。

Linux之vim的使用详细解析

个人主页&#xff1a;点我进入主页 专栏分类&#xff1a;C语言初阶 C语言进阶 数据结构初阶 Linux C初阶 算法 欢迎大家点赞&#xff0c;评论&#xff0c;收藏。 一起努力&#xff0c;一起奔赴大厂 目录 一.vim简介 二.vim的基本概念 三.vim的基本操作 3.1准备 …

深入探索 JS 的提升机制、函数与块作用域以及函数表达式和声明(上)

&#x1f90d; 前端开发工程师、技术日更博主、已过CET6 &#x1f368; 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 &#x1f560; 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 &#x1f35a; 蓝桥云课签约作者、上架课程《Vue.js 和 E…

SpringBoot和ApiFox整合快速上手

前置&#xff1a;IDEA版本IntelliJ IDEA 2023.2.4&#xff0c;Apifox 2.5.6 安装插件&#xff1a;Apifox Helper1.2.1 目录 1.文档生成 2.提取登录接口token 1.文档生成 把密钥配置到 修改日志编码&#xff1a; 导入成功:文档就会出现 2.提取登录接口token 之后我们再使用的…

综合服务 IntServ

目录 综合服务 IntServ IntServ 定义的两类服务 IntServ 的四个组成部分 流 (flow) 资源预留协议 RSVP RSVP 协议的工作原理 IntServ 体系结构在路由器中的实现 综合服务 IntServ 体系结构存在的主要问题 综合服务 IntServ 综合服务 IntServ (Integrated Services) 可…

五种多目标优化算法(MOCS、MOFA、NSWOA、MOAHA、MOPSO)性能对比(提供MATLAB代码)

一、5种多目标优化算法简介 多目标优化算法是用于解决具有多个目标函数的优化问题的一类算法。其求解流程通常包括以下几个步骤&#xff1a; 1. 定义问题&#xff1a;首先需要明确问题的目标函数和约束条件。多目标优化问题通常涉及多个目标函数&#xff0c;这些目标函数可能…

用于电机控制应用的动态制动电阻器?

这种复杂的医疗系统中&#xff0c;高度可靠的无源元件始终是必不可少的。在单个设计中&#xff0c;每个有源集成电路 &#xff08;IC&#xff09; 需要多达 20 个无源元件。通常需要专业元件&#xff0c;这是实现商品、批量生产的电阻器产品领域之外的特定应用价值所必需的。设…

微信小程序-宿主环境-开发文档学习笔记

查看更多学习笔记&#xff1a;GitHub&#xff1a;LoveEmiliaForever 微信小程序开发指南 微信小程序开发文档 渲染层和逻辑层 WXML 模板和 WXSS 样式工作在渲染层&#xff0c;JS 脚本工作在逻辑层 渲染层和数据相关。逻辑层负责产生、处理数据。逻辑层通过 Page 实例的 setD…

matlab simulink变压器温度仿真

1、内容简介 略 48-可以交流、咨询、答疑 2、内容说明 略 3、仿真分析 略 matlab simulink变压器温度仿真_哔哩哔哩_bilibili 4、参考论文 略 大型油浸风冷变压器绕组温度场分析_高原 基于顶层油温的变压器绕组热点温度计算改进模型_陈伟根 基于热电类比理论的油浸式电…

共同学习|Spring Cloud Alibaba一一Nacos配置

Nacos配置中心 在服务或者应用运行过程中&#xff0c;提供动态配置或者元数据以及配置管理的服务提供者。 从Nacos中拉去配置文件 pom文件 2、bootstrap.yml 修改application.yml为bootstrap.yml spring:cloud: nacos:config:server-addr: localhost:8848 #nacos服务地址…

node14下运行项目报错:regeneratorRuntime is not defined

regeneratorRuntime is not defined&#xff0c;这是由于配置babel出错问题&#xff0c;由于使用了es7语法如async/await而当前babel版本过低 解决&#xff1a; npm install -D babel-plugin-transform-runtime babel-runtime 安装完成后在.babelrc文件下配置&#xff1a; &qu…

python56-Python的断言

断言语句和if分支有点类似它用于对一个bool表达式进行断言,如果该bool表达式为True,该程序可以继续向下执行;否则程序会引发AssertionError错误。 # !/usr/bin/env python# -*- coding: utf-8 -*-# Time : 2024/01# Author : Laopiage input("请输入你的年龄&#xff1a…

QT文件IO

七、文件IO QFileDialog文件对话框 与QMessageBox一样&#xff0c;QFileDialog也继承了QDialog类&#xff0c;直接使用静态成员函数弹窗&#xff0c;弹窗的结果&#xff08;选择的文件路径&#xff09;通过函数返回值返回。 // 获取一个打开或保存的文件路径 // 参数1&#xff…

Git+py+ipynb Usage

0.default config ssh-keygen -t rsa #之后一路回车,当前目录.ssh/下产生公私钥 cat ~/.ssh/id_rsa.pub #复制公钥到账号 git config --global user.email account_email git config --global user.name account_namebug of ipynb TqdmWarning: IProgress not found. Please …

【JavaEE】_HttpServlet类

目录 1. init方法 2. destory方法 3. service方法 4. servlet生命周期 前文已经提及到&#xff1a;servlet是tomcat提供的&#xff0c;用于操作HTTP协议的一组API&#xff0c;可以将这组API理解为HTTP服务器的框架&#xff1b; 编写一个servlet程序&#xff0c;往往都要继…

记一次pulsar数据丢失排查

记一次pulsar数据丢失排查 背景 生产者往pulsar写消息时会有递增的序列号字段&#xff0c;消费端在消费时&#xff0c;会出现序列号断层。当下无法确定是生产端、mq、消费端哪个地方丢失了数据&#xff0c;所以先从生产端进行排查。 生产端的消息发送是通过sendAsync的异步方…