第 400 场 LeetCode 周赛题解
A 候诊室中的最少椅子数
计数:记录室内顾客数,每次顾客进入时,计数器+1,顾客离开时,计数器-1
class Solution {public:int minimumChairs(string s) {int res = 0;int cnt = 0;for (auto c : s) {if (c == 'E')res = max(res, ++cnt);elsecnt--;}return res;}
};
B 无需开会的工作日
排序:将 m e e t i n g s meetings meetings 按开始时间升序排序(若开始时间相同,则按结束时间降序排序),这样使得存在重叠的一组会议在数组中是相邻的,然后遍历 m e e t i n g s meetings meetings 求各个不重叠会议时间段
class Solution {public:int countDays(int days, vector<vector<int>>& meetings) {sort(meetings.begin(), meetings.end(), [](vector<int>& a, vector<int>& b) {if (a[0] != b[0])return a[0] < b[0];return a[1] > b[1];});int res = days;int n = meetings.size();for (int i = 0, j = 0; i < n; i = ++j) {int r = meetings[i][1];while (j + 1 < n && meetings[j + 1][0] <= r) {//求与meetings[i]重叠的一组会议r = max(r, meetings[++j][1]);}res -= r - meetings[i][0] + 1;//减去会议天数}return res;}
};
C 删除星号以后字典序最小的字符串
优先级队列:遇到 ∗ * ∗ 时,因为需删除该星号字符左边一个字典序最小的字符,且题目需最终剩余字符形成的字符串字典序最小,所以应该删除该星号字符左边下标最大的字典序最小的字符。用优先级队列维护当前还没删除的字符中的字典序最小的下标最大的字符
class Solution {public:string clearStars(string s) {int n = s.size();priority_queue<pair<int, int>> heap;//最大堆vector<int> del(n);//删除标记for (int i = 0; i < n; i++) {if (s[i] != '*')heap.emplace('a' - s[i], i);else {auto [_, loc] = heap.top();heap.pop();del[loc] = 1;}}string res;for (int i = 0; i < n; i++) {if (s[i] != '*' && !del[i])res.push_back(s[i]);}return res;}
};
D 找到按位与最接近 K 的子数组
前缀和 + 二分:枚举子数组的左端点 i i i ,用二分求 l l l 使得 n u m s [ i ] & ⋯ & n u m s [ l ] nums[i]\&\cdots\&nums[l] nums[i]&⋯&nums[l] 为不小于 k k k 的最小值,若 l + 1 < n l+1<n l+1<n ,则 ∣ n u m s [ i ] & ⋯ & n u m s [ l + 1 ] − k ∣ |nums[i]\&\cdots\&nums[l+1]-k| ∣nums[i]&⋯&nums[l+1]−k∣ 也可能更新答案,二分过程中用前缀和来计算 n u m s [ i ] & ⋯ & n u m s [ m i d ] nums[i]\&\cdots\&nums[mid] nums[i]&⋯&nums[mid] 的值( n u m s [ i ] & ⋯ & n u m s [ m i d ] nums[i]\&\cdots\&nums[mid] nums[i]&⋯&nums[mid] 第 j j j 位为 1 1 1 当且仅当 n u m s [ i ] , ⋯ , n u m s [ m i d ] nums[i],\cdots,nums[mid] nums[i],⋯,nums[mid] 第 j j j 位都为 1 1 1)
class Solution {public:int minimumDifference(vector<int>& nums, int k) {int n = nums.size();int ps[30][n + 1];//每一位的前缀和memset(ps, 0, sizeof(ps));for (int j = 0; j < 30; j++)for (int i = 0; i < n; i++)ps[j][i + 1] = nums[i] >> j & 1 ? ps[j][i] + 1 : ps[j][i];int res = INT32_MAX;for (int i = 0; i < n; i++) {int l = i, r = n - 1;while (l < r) {//二分求lint mid = (l + r + 1) / 2;int t = 0;for (int j = 0; j < 30; j++)if (ps[j][mid + 1] - ps[j][i] == mid - i + 1)t |= 1 << j;if (t >= k)l = mid;elser = mid - 1;}int t = 0;for (int j = 0; j < 30; j++)if (ps[j][l + 1] - ps[j][i] == l - i + 1)t |= 1 << j;res = min(res, abs(t - k));if (t > k && l + 1 < n)res = min(res, abs((t & nums[l + 1]) - k));}return res;}
};
相关文章:
第 400 场 LeetCode 周赛题解
A 候诊室中的最少椅子数 计数:记录室内顾客数,每次顾客进入时,计数器1,顾客离开时,计数器-1 class Solution {public:int minimumChairs(string s) {int res 0;int cnt 0;for (auto c : s) {if (c E)res max(res, …...
数据结构与算法之Floyd弗洛伊德算法求最短路径
目录 前言 Floyd弗洛伊德算法 定义 步骤 一、初始化 二、添加中间点 三、迭代 四、得出结果 时间复杂度 代码实现 结束语 前言 今天是坚持写博客的第18天,希望可以继续坚持在写博客的路上走下去。我们今天来看看数据结构与算法当中的弗洛伊德算法。 Flo…...
Ubuntu系统设置Redis与MySQL登录密码
Ubuntu系统设置Redis与MySQL登录密码 在Ubuntu 20.04系统中配置Redis和MySQL的密码,您需要分别对两个服务进行配置。以下是详细步骤: 配置Redis密码 打开Redis配置文件: Redis的配置文件通常位于/etc/redis/redis.conf。 sudo nano /etc/redis/redis.c…...
数据库连接池的概念和原理
目录 一、什么是数据库连接池 二、数据库连接池的工作原理 1.初始化阶段: 2.获取连接: 3.使用连接: 4.管理和优化: 三、数据库连接池的好处 一、什么是数据库连接池 数据库连接池(Database Connection Pooling&…...
国内常用的编程博客网址:技术资源与学习平台
一、国内常用的编程博客网址:技术资源与学习平台 大家初入编程,肯定会遇到各种各样的问题。我们除了找 AI 工具以外,我们还能怎么迅速解决问题呢? 大家可以通过谷歌,百度,必应,github…...
怎么给三极管基极或者MOS管栅极接下拉电阻
文章是瑞生网转载,PDF格式文章下载: 怎么给三极管基极或者MOS管栅极接下拉电阻.pdf: https://url83.ctfile.com/f/45573183-1247189078-52e27b?p7526 (访问密码: 7526)...
Java Web学习笔记5——基础标签和样式
<!DOCTYPE html> html有很多版本,那我们应该告诉用户和浏览器我们现在使用的是HMTL哪个版本。 声明为HTML5文档。 字符集: UTF-8:现在最常用的字符编码方式。 GB2312:简体中文 BIG5:繁体中文、港澳台等方式…...
01_深度学习基础知识
1. 感知机 感知机通常情况下指单层的人工神经网络,其结构与 MP 模型类似(按照生物神经元的结构和工作原理造出来的一个抽象和简化了模型,也称为神经网络的一个处理单元) 假设由一个 n 维的单层感知机,则: x 1 x_1 x1 至 x n x_n xn 为 n 维输入向量的各个分量w 1 j…...
60、最大公约数
最大公约数 题目描述 给定n对正整数ai,bi,请你求出每对数的最大公约数。 输入格式 第一行包含整数n。 接下来n行,每行包含一个整数对ai,bi。 输出格式 输出共n行,每行输出一个整数对的最大公约数。 数据范围 1 ≤ n ≤ 1 0 5 , 1≤n≤…...
设计模式在芯片验证中的应用——迭代器
一、迭代器设计模式 迭代器设计模式(iterator)是一种行为设计模式, 让你能在不暴露集合底层表现形式 (列表、 栈和树等数据结构) 的情况下遍历集合中所有的元素。 在验证环境中的checker会收集各个monitor上送过来的transactions࿰…...
imx6ull - 制作烧录SD卡
1、参考NXP官方的手册《i.MX_Linux_Users_Guide.pdf》的这一章节: 1、SD卡分区 提示:我们常用的SD卡一个扇区的大小是512字节。 先说一下i.MX6ULL使用SD卡启动时的分区情况,NXP官方给的镜像布局结构如下所示: 可以看到,…...
使用chatgpt api快速分析pdf
需求背景 搞材料的兄弟经常要分析pdf,然后看到国外有产品是专门调用chatpdf来分析pdf的,所以就来问我能不能帮他也做一个出来。正好我有chatgpt的api,所以就研究了一下这玩意怎么弄。 需求分析 由于chatgpt是按字符算钱的,所以…...
Vue:状态管理pinia
安装 npm install pinia在 main.js 中注册 // main.jsimport { createApp } from vue import { createPinia } from "pinia"; import App from ./app.vueconst app createApp(App) const pinia createPinia(); app.use(pinia).mount(#app)创建 store // stores/…...
【Android Studio】导入import android.support.v7.app.AppcompatActivity;时报错
一、问题描述 在进行安卓项目开发时使用import android.support.v7.app.AppcompatActivity;报错: 运行后会有乱码出现: 二、解决办法 将import android.support.v7.app.AppcompatActivity;改为import androidx.appcompat.app.AppCompatActivity;基本上…...
汽车区域控制器技术分析
汽车区域控制器的起源与发展 随着汽车技术的不断发展,汽车电子电气架构也在经历着深刻的变革。汽车区域控制器作为一种新兴的技术,正逐渐成为汽车电子电气架构的重要组成部分。 在早期,汽车电子电气架构主要采用分布式架构。这种架构下,各个电子控制单元(ECU)分别负责不…...
myEclipse新手使用教程
myEclipse新手使用教程 一、引言 myEclipse是一款流行的Java集成开发环境(IDE),它集成了众多的开发工具,为Java开发者提供了一个强大的开发平台。本文将详细介绍如何下载、安装和配置myEclipse,以及如何创建一个简单…...
【WPF编程宝典】第6讲:资源
研究了 WPF 资源系统使得在应用不同部分可以重用相同对象的原理,介绍了如何在代 码和标记中声明资源,如何提取系统资源,以及如何使用类库程序集在应用程序之间共享资源。 1.资源基础 1.1静态资源和动态资源 区别:静态资源只从资…...
容器化部署Pig微服务快速开发框架
系统说明 基于 Spring Cloud 、Spring Boot、 OAuth2 的 RBAC 企业快速开发平台, 同时支持微服务架构和单体架构 提供对 Spring Authorization Server 生产级实践,支持多种安全授权模式 提供对常见容器化方案支持 Kubernetes、Rancher2 、Kubesphere、E…...
Windows编程:图标资源、光标资源、字符串资源、加速键资源、WM_PAINT消息、绘图
承接前文: win32窗口编程windows 开发基础win32-注册窗口类、创建窗口win32-显示窗口、消息循环、消息队列win32-鼠标消息、键盘消息、计时器消息、菜单资源 本文目录 图标资源光标资源WM_SETCURSOR 消息 字符串资源加速键资源WM_PAINT 消息绘图绘图编程绘图基础基…...
【2024 短剧0元轻资产创业风口】做自己的老板,做新媒体的领路人
好省短剧邀请码2Urux1ZoQm(长按复制粘贴即可)大多数好省短剧推广活动都会通过官方渠道发布邀请码。您可以通过关注官方社交媒体账号、订阅电子邮件通知或参与官方网站上的活动,获得邀请码的机会。官方渠道通常会提前公布邀请码的获取方式和条件,您只需按照要求执行即可。好省…...
Docker安装Bitbucket
centos7版本 [rootlocalhost ~]# cat /etc/os-release NAME"CentOS Linux" VERSION"7 (Core)" ID"centos" ID_LIKE"rhel fedora" VERSION_ID"7" PRETTY_NAME"CentOS Linux 7 (Core)" ANSI_COLOR"0;31"…...
FlyMcu串口下载STLINK Utility
一、FlyMcu程序烧录软件 1、可以通过串口给STM32下载程序,如果没有STLINK,就可以用这个软件通过串口下载程序,和STC的51单片机的烧录软件STC-ISP一样,通过串口给单片机下载程序 2、创建串口下载所需要的HEX文件 3、选择串口和波…...
CSS(盒子模型,定位,浮动,扩展)
CSS 盒子模型:外边距:内边距:水平居中: 定位:相对定位:绝对定位:固定定位: 浮动:扩展: 盒子模型: 盒子模型(Box Model) 规定了元素框处理元素内容…...
AIGC如何改变人类生活20240529
AIGC如何改变人类生活 随着人工智能技术的不断发展,人类生活正经历着前所未有的变革。在这个过程中,AIGC(人工智能生成内容)的概念应运而生,它已经在很多领域产生了深远的影响。本文将探讨AIGC如何改变人类生活&#…...
【python】成功解决“TypeError: ‘method’ object is not subscriptable”错误的全面指南
成功解决“TypeError: ‘method’ object is not subscriptable”错误的全面指南 一、引言 在Python编程中,TypeError: method object is not subscriptable错误是一个常见的陷阱,特别是对于初学者来说。这个错误通常意味着你尝试像访问列表、元组、字典…...
若依 Spring Security 短信,扫码登录
1. 修改 LoginBody,添加登录类型字段 Data public class LoginBody {/*** 用户名*/private String username;/*** 用户密码*/private String password;/*** 验证码*/private String code;/*** 唯一标识*/private String uuid;/*** 登录类型*/private String logi…...
Web 网页性能优化
Web 网页性能及性能优化 一、Web 性能 Web 性能是 Web 开发的一个重要方面,侧重于网页加载速度以及对用户输入的响应速度 通过优化网站来改善性能,可以在为用户提供更好的体验 网页性能既广泛又非常深入 1. 为什么性能这么重要? 1. 性能…...
JDBC-MySQL
JDBC-MySQL 1.JDBC 操作步骤1.1 DriverManager1.2.Connection对象1.3 Statement1.4 PreparedStatement 1.JDBC 操作步骤 public void quickStart() throws ClassNotFoundException, SQLException {//1、注册驱动 (确认要使用哪个数据库)Class.forName(&…...
MySQL经典练习50题(上)(解析版)
所有笔记、生活分享首发于个人博客 想要获得最佳的阅读体验(无广告且清爽),请访问本篇笔记 MySQL经典练习50题(上) 创建数据库和表 -- 建 表 -- 学 生 表 CREATE TABLE Student( s_id VARCHAR(20), s_name VARCHAR(2…...
每日一题33:数据统计之广告效果
一、每日一题 返回结果示例如下: 示例 1: 输入: Ads 表: ------------------------- | ad_id | user_id | action | ------------------------- | 1 | 1 | Clicked | | 2 | 2 | Clicked | | 3 | 3 | Viewed…...
com是什么网站/网站优化外包找谁
前置知识: 【定义】n阶行列式 定义1 主对角线以下(上)的元素都为 000 的行列式叫做 上(下)三角形行列式。 有下三角形行列式 D∣a110a21a22⋮⋮⋱an1an2⋯ann∣(1)D \begin{vmatrix} a_{11} & & & 0 \…...
康保网站制作/seo网站关键词优化报价
[Matlab]基于matlab的ransac平面拟合程序[Matlab]基于matlab的ransac平面拟合程序输入:①数据 ②抽样次数N ③距离阈值t ④数量阈值T输出:最终估计的模型程序流程:1。data :数据2。取样本 :确定模型参数p所需要的最小数…...
博客移植wordpress/磁力吧最佳搜索引擎
--------------------------------------------------------------------------------------------------------- 当使用App Framework,你只能使用W3C可用的选择器。可以去W3C查看完整的列表。不支持如jQuery中创建的自定义伪选择器。下面是一些App Framework能帮助…...
江门网站制作案例/关联词有哪些类型
实验 第一次:误差分析对0,1,2,,20n L ,按照下面两种算法计算定积分105n nx y dx x ?. 算法1: 利用递推公式115n n y y n--(1,2,,20)n L ,取 1001ln 6ln 50.1823225y dx x -≈?. 算法2: 利用递推公式11155n n y y n -…...
胶州建设工程信息网站/sem竞价推广
1、构造手机验证码:使用random对象生成要求的随机数作为验证码,例如4位验证码:1000~9999之间随机数; 2、使用接口向短信平台发送手机号和验证码数据,然后短信平台再把验证码发送到制定手机号上,接口参数一般包括&…...
北京网站的建设/seo公司运营
文章目录 前言I、运行时期,断点ptrace,直接返回II、分析如何调用的ptrace,hook ptrace2.0 准备工作:砸壳2.1 编写 tweak 分析2.2 具体步骤2.2.1 debugserver2.2.2 分析如何调用的ptrace2.2.1 此案例的hook prace 的代码2.4 DemoIII、 修改 PT_DENY_ATTACHIV、通过tweak,替…...