【LeetCode周赛】第 386 场周赛

目录

  • 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.hqwc.cn/news/491894.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数据结构:链表的冒泡排序

法一&#xff1a;修改指针指向 //法二 void maopao_link(link_p H){if(HNULL){printf("头节点为空\n");return;}if(link_empty(H)){printf("链表为空\n");return;}link_p tailNULL;while(H->next->next!tail){link_p pH;link_p qH->next;while(q…

FPGA 与 数字电路的关系 - 这篇文章 将 持续 更新 :)

先说几个逻辑&#xff1a;&#xff08;强调一下在这篇文章 输入路数 只有 1个或2个&#xff0c;输出只有1个&#xff0c;N个输入M个输出以后再说&#xff09; 看下面的几个图&#xff1a; 图一&#xff08; 忘了 这是 啥门&#xff0c;不是门吧 &#xff1a;&#xff09;也就…

电商赠品数据可以监测吗

很多店铺为了引流&#xff0c;会在标题、图片上标明促销活动&#xff0c;常见的有赠品描述&#xff0c;由于现在监测价格技术的壁垒&#xff0c;其实很多时候&#xff0c;主图上的赠品信息因其描述方式、字体等的不同&#xff0c;会导致监测不出来的情况出现&#xff0c;这也给…

【数据库】MySQL视图 | 用户管理

文章目录 1 :peach:视图:peach:1.1 :apple:基本使用:apple:1.1.1 :lemon:创建视图:lemon:1.1.2 :lemon:案例:lemon:1.1.3 :lemon:删除视图:lemon: 1.2 :apple:视图规则和限制:apple: 2 :peach:用户管理:peach:2.1 :apple:用户信息:apple:2.2 :apple:创建用户:apple:2.3 :apple:…

SocketWeb实现小小聊天室

SocketWeb实现小小聊天室 消息推送的常见方式轮询长轮询SSE&#xff08;server-sent event&#xff09;&#xff1a;服务器发送事件WebSocketWebSocket简介WebSocket API 实现小小聊天室实现流程消息格式客户端-->服务端服务端-->客户端 消息推送的常见方式 轮询 浏览器…

皓学IT:WEB05-Servlet

一、Servlet 1.1.概述 Servlet是SUN公司提供的一套规范&#xff0c;名称就叫Servlet规范&#xff0c;它也是JavaEE规范之一。我们可以像学习Java基础一样&#xff0c;通过API来学习Servlet。这里需要注意的是&#xff0c;在我们之前JDK的API中是没有Servlet规范的相关内容&am…

“智能语音指令解析“ 基于NLP与语音识别的关键工单信息提取,

"智能语音指令解析" 基于NLP与语音识别的关键工单信息提取&#xff0c; 1. 背景介绍1.1 场景痛点1.2 方案选型 2. 准备开发环境3. PaddleSpeech 语音识别快速使用4. PaddleNLP 信息抽取快速使用5. 语音工单信息抽取核心功能实现6. 语音工单信息抽取网页应用6.1 网页前…

TLS1.2抓包解析

1.TLS1.2记录层消息解析 Transport Layer SecurityTLSv1.2 Record Layer: Handshake Protocol: Client HelloContent Type: Handshake (22)Version: TLS 1.0 (0x0301)Length: 253Content Type&#xff1a;消息类型&#xff0c;1个字节。 i 0Version&#xff1a;协议版本&…

斯坦福大学为机器人操作模仿学习设计了示教新范式

近期斯坦福大学提出了通用操纵界面&#xff08;UMI&#xff09;–一种数据收集和策略学习框架&#xff0c;可将人类演示的技能直接转移到可部署的机器人策略中。 https://umi-gripper.github.io/ UMI 采用手持式抓手和精心的界面设计&#xff0c;可为具有挑战性的双臂和动态操…

Unity接入SQLite (一):SQLite介绍

1.简介 SQLite是一个开源的嵌入式关系数据库管理系统。它是一种轻量级的数据库引擎&#xff0c;不需要单独的服务器进程&#xff0c;可以直接嵌入到应用程序中使用。Sqlite使用简单、高效&#xff0c;并且具有对标准SQL的完整支持。它适用于需要在本地存储和访问数据的应用程序…

Windows下用CMake编译VTK及配置测试

作者&#xff1a;翟天保Steven 版权声明&#xff1a;著作权归作者所有&#xff0c;商业转载请联系作者获得授权&#xff0c;非商业转载请注明出处 VTK是什么&#xff1f; VTK&#xff08;visualization toolkit&#xff09;是一个开源的免费软件系统&#xff0c;主要用于三维计…

Base64 编码 lua

Base64 编码 -- Base64 字符表 local base64_chars { A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,…