第 114 场 LeetCode 双周赛题解
A 收集元素的最少操作次数
模拟: 反序遍历数组,用一个集合存当前遍历过的不超过 k k k 的正数
class Solution {
public:int minOperations(vector<int> &nums, int k) {unordered_set<int> vis;int n = nums.size();int i = n - 1;for (;; i--) {if (nums[i] <= k && !vis.count(nums[i]))vis.insert(nums[i]);if (vis.size() == k)break;}return n - i;}
};
B 使数组为空的最少操作次数
计数:记录数组中各元素出现次数,若存在只出现一次的元素则无法使数组为空,否则,要将出现次数为 f f f 的某个元素全部删除最少需要的次数为:当 f % 3 = 0 f\%3=0 f%3=0 时为 f 3 \frac f 3 3f ,当 f % 3 ≠ 0 f\%3\ne 0 f%3=0 时为 ⌊ f 3 ⌋ + 1 \left \lfloor \frac f 3 \right \rfloor + 1 ⌊3f⌋+1 。
class Solution {
public:int minOperations(vector<int> &nums) {unordered_map<int, int> cnt;for (auto x: nums)cnt[x]++;int res = 0;for (auto [_, f]: cnt) {if (f == 1)return -1;if (f % 3 == 0)res += f / 3;elseres += f / 3 + 1;}return res;}
};
C 将数组分割成最多数目的子数组
模拟:遍历数组元素 n u m s [ i ] nums[i] nums[i] ,若 n u m s [ i ] nums[i] nums[i] 不是最后一个元素,则只有一种情况会使得最优解中 n u m s [ i ] nums[i] nums[i] 为其所在子数组的最后一个元素: n u m s [ i ] nums[i] nums[i] 所在的子数组分数已经为 0 0 0 且 n u m s [ i + 1 ] & ⋯ & n u m s [ n u m s . s i z e ( ) − 1 ] nums[i+1]\&\cdots\&nums[nums.size()-1] nums[i+1]&⋯&nums[nums.size()−1] 等于 0 0 0
class Solution {
public:int maxSubarrays(vector<int> &nums) {int n = nums.size();vector<int> sf(n);//“后缀与”数组sf[n - 1] = nums[n - 1];for (int i = n - 2; i >= 0; i--)sf[i] = nums[i] & sf[i + 1];int res = 0;for (int i = 0, cur = nums[0]; i < n; i++) {cur &= nums[i];if (i == n - 1 || cur == 0 && sf[i + 1] == 0) {//nums[i]为所在子数组的最后一个元素res++;if (i != n - 1)cur = nums[i + 1];//下一个子数组的首个元素}}return res;}
};
D 可以被 K 整除连通块的最大数目
d f s dfs dfs:不妨以 0 0 0 为树根,通过 d f s dfs dfs 求 s s s 数组: s [ i ] s[i] s[i] 为以 i i i 为根的子树的所有节点值之和。设 d f s dfs dfs 遍历到的当前节点为 c u r cur cur ,若遍历到 c u r cur cur 的子节点 j j j 时,有 s [ j ] % k = = 0 s[j]\%k==0 s[j]%k==0 ,则边 ( c u r , j ) (cur,j) (cur,j) 可以删除(即可以增加一个连通块)。
class Solution {
public:using ll = long long;int maxKDivisibleComponents(int n, vector<vector<int>> &edges, vector<int> &values, int k) {vector<int> e[n];//邻接表for (auto &ei: edges) {//建图e[ei[0]].push_back(ei[1]);e[ei[1]].push_back(ei[0]);}vector<ll> s(n);int res = 1;function<ll(int, int)> dfs = [&](int cur, int par) {//当前节点为cur,父节点为pars[cur] += values[cur];for (auto j: e[cur])if (j != par) {s[cur] += dfs(j, cur);if (s[j] % k == 0)res++;}return s[cur];};dfs(0, -1);//以0为根跑dfsreturn res;}
};
相关文章:
第 114 场 LeetCode 双周赛题解
A 收集元素的最少操作次数 模拟: 反序遍历数组,用一个集合存当前遍历过的不超过 k k k 的正数 class Solution { public:int minOperations(vector<int> &nums, int k) {unordered_set<int> vis;int n nums.size();int i n - 1;for (;; i--) {if…...
[Java框架] Java常用爬虫框架推荐
Selenium GitHub 截止 2023年9月份 Star数量27.7K Selenium是一款基于浏览器自动化的工具,它可以模拟用户在浏览器上的操作行为,并获取网页上的内容。Selenium支持多种浏览器,可以很好地处理JavaScript生成内容。但是Selenium相较于其他框架而…...
Kafka:安装与简单使用
文章目录 下载安装windows安装目录结构启动服务器创建主题发送一些消息启动消费者设置多代理集群常见问题 工具kafka tool 常用指令topic查看topic删除topic 常见问题参考文献 下载安装 下载地址:kafka-download windows安装 下载完后,找一个目录解压…...
029-从零搭建微服务-消息队列(一)
写在最前 如果这个项目让你有所收获,记得 Star 关注哦,这对我是非常不错的鼓励与支持。 源码地址(后端):mingyue: 🎉 基于 Spring Boot、Spring Cloud & Alibaba 的分布式微服务架构基础服务中心 源…...
Python2020年06月Python二级 -- 编程题解析
题目一 数字转汉字 用户输入一个1~9(包含1和9)之间的任一数字,程序输出对应的汉字。 如输入2,程序输出“二”。可重复查询。 答案: 方法一 list1[一,二,三,四,五,六,七,八,九] while True:n int(input(请输入1~9之间任意一个数字…...
差分放大器的精髓:放大差模信号 抑制共模信号
参考如图基本的差分放大电路,在R1R2 R3R4的条件下,其输出与输入的关系为 : 具体推导过程参考:差分运算放大器的放大倍数的计算及结论_正在黑化的KS的博客-CSDN博客 由这个式子我们可以发现,差分放大器放大的是同相端与…...
蓝桥等考Python组别九级006
第一部分:选择题 1、Python L9 (15分) 运行下面程序,可以输出几行“*”?( ) for i in range(6): for j in range(7): print(*, end ) print() 5678 正确答案:B 2、Python …...
初级篇—第五章子查询
文章目录 什么是子查询需求分析与问题解决子查询的基本语法结构子查询的分类 单行子查询单行比较操作符代码示例HAVING 中的子查询CASE中的子查询子查询中的空值问题非法使用子查询 多行子查询多行比较操作符代码示例空值问题 相关子查询代码示例在ORDER BY 中使用子查询EXISTS…...
【AntDesign】封装全局异常处理-全局拦截器
[toc] 场景 本文前端用的是阿里的Ant-Design框架,其他框架也有全局拦截器,思路是相同,具体实现自行百度下吧 因为每次都需要调接口,都需要单独处理异常情况(code !0),因此前端需要对后端返回的…...
Visual Studio 代码显示空格等空白符
1.VS2010: 快捷键:CtrlR,W 2.VS2017、VS2019、VS2022: 工具 -> 选项 -> 文本编辑器 -> 显示 -> 勾选查看空白...
紫光同创FPGA图像视频采集系统,基于OV7725实现,提供工程源码和技术支持
目录 1、前言免责声明 2、设计思路框架视频源选择OV7725摄像头配置及采集动态彩条HDMA图像缓存输入输出视频HDMA缓冲FIFOHDMA控制模块HDMI输出 3、PDS工程详解4、上板调试验证并演示准备工作静态演示动态演示 5、福利:工程源码获取 紫光同创FPGA图像视频采集系统&am…...
京东大型API网关实践之路
概述 1、背景 京东作为电商平台,近几年用户、业务持续增长,访问量持续上升,随着这些业务的发展,API网关应运而生。 API网关,就是为了解放客户端与服务端而存在的。对于客户端,使开放给客户端的接口标准统…...
图像处理: 马赛克艺术
马赛克 第一章 马赛克的历史渊源 1.1 马赛克 艺术中的一种表面装饰,由紧密排列的、通常颜色各异的小块材料(如石头、矿物、玻璃、瓷砖或贝壳)组成。与镶嵌不同的是,镶嵌是将要应用的部件放置在已挖空以容纳设计的表面中࿰…...
postgresql-管理数据表
postgresql-管理数据表 创建表数据类型字段约束表级约束模式搜索路径 修改表添加字段删除字段添加约束删除约束修改字段默认值修改字段数据类型重命名字段重命名表 删除表 创建表 在 PostgreSQL 中,使用 CREATE TABLE 语句创建一个新表: CREATE TABLE …...
Llama2-Chinese项目:3.1-全量参数微调
提供LoRA微调和全量参数微调代码,训练数据为data/train_sft.csv,验证数据为data/dev_sft.csv,数据格式如下所示: "<s>Human: "问题"\n</s><s>Assistant: "答案举个例子,如下所…...
蓝桥等考Python组别十级001
第一部分:选择题 1、Python L10 (15分) 已知s = Hello!,下列说法正确的是( )。 s[1]对应的字符是Hs[2]对应的字符是ls[-1]对应的字符是os[3]对应的字符是o正确答案:B 2、Python L10 (15分) 运行下面程序,输入字符串“Banana”,输出的结果是&#x...
记录 Git 操作时遇到的问题及解决方案
目录 问题:git pull 时报错报错内容: ! [rejected] v1.0.3 -> v1.0.3 (would clobber existing tag)原因:本地 Git 仓库中已经存在名为 v1.0.3 和 v1.0.6 的标签了,而尝试从远程仓库(GitHub)拉取这些标签…...
第一届“龙信杯”电子数据取证竞赛Writeup
目录 移动终端取证 请分析涉案手机的设备标识是_______。(标准格式:12345678) 请确认嫌疑人首次安装目标APP的安装时间是______。(标准格式:2023-09-13.11:32:23) 此检材共连接过______个WiFi。&#x…...
Vue与React//双绑问题
Vue和React是两个目前最流行的前端框架,它们有一些区别主要区别如下: 响应式原理:Vue使用基于模板的方式进行双向绑定,其中使用了Vue自己实现的响应式系统。Vue能够通过追踪数据的依赖关系,自动更新DOM元素。而React采…...
信息安全第四周
社会工程学 社会工程学主要研究如何操纵人的心理和情感来获取机密信息或其他目标。它主要不是通过技术手段攻击计算机系统,而是通过心理学和人际交往技巧来欺骗人,使他们泄露密码、安全代码或其他敏感信息。社会工程学主要是一种安全风险,主要…...
机器学习基础概念与常见算法入门【机器学习、常见模型】
机器学习基础概念与算法 机器学习是计算机科学领域的一个分支,它致力于让计算机系统具备从数据中学习和改进的能力,而不需要显式地进行编程。与传统编程相比,机器学习有着根本性的不同之处。 机器学习与传统编程的不同 传统编程࿱…...
移动端 [Android iOS] 压缩 ECDSA PublicKey
移动端 [Android & iOS] 压缩 ECDSA PublicKey AndroidiOS 使用 Android KeyStore 和 iOS 的 Secure Enclave 提供的安全能力使用 P-256 来对 API 请求进行签名,服务器端再进行验证。 但是发现不论是 iOS 还是安卓都没有提供一个便捷的方式从 iOS 的SecKeyCopyE…...
Spring的配置Bean的方式
在Spring框架中,配置Bean有三种主要方式:自动装配、基于Java的显式配置和基于XML的显式配置。 1、自动装配: 自动装配是Spring容器根据Bean之间的依赖关系,自动将需要的Bean注入到目标Bean中。这是一种非常简便和快捷的配置方式&…...
安防监控/视频汇聚平台EasyCVR云端录像不展示是什么原因?该如何解决?
视频云存储/安防监控EasyCVR视频汇聚平台基于云边端智能协同,支持海量视频的轻量化接入与汇聚、转码与处理、全网智能分发、视频集中存储等。音视频流媒体视频平台EasyCVR拓展性强,视频能力丰富,具体可实现视频监控直播、视频轮播、视频录像、…...
毛玻璃态登录表单
效果展示 页面结构组成 通过上述的效果展示可以看出如下几个效果 底部背景有三个色块并且效果是毛玻璃效果登录表单是毛玻璃效果登录表单的周围的小方块也是有毛玻璃效果并且与登录表单有层次效果 CSS3 知识点 filter 属性backdrop-filter 属性绝对定位属性动画属性 底部背…...
Java:使用 Graphics2D 类来绘制图像
目录 过程介绍创建一个 BufferedImage 对象创建一个 Graphics2D 对象绘制字符和干扰线将生成的图像保存到文件 示例代码 过程介绍 创建一个 BufferedImage 对象 首先创建一个 BufferedImage 对象来表示图像 创建一个 Graphics2D 对象 然后使用 createGraphics() 方法创建一…...
VUE2项目:尚品汇VUE-CLI脚手架初始化项目以及路由组件分析(一)
标题 环境VUE2目录publicassetscomponentsmain.jsbabel.config.jspackage.jsonvue.config.js 项目路由分析Header与Footer非路由组件完成Header示例 路由组件的搭建声明式导航编程式导航 Footer组件的显示与隐藏路由传递参数重写push和replace三级联动组件拆分附件 环境 前提要…...
输入网址input,提取标题和正文
https://m.51cmm.com/wz/WZnKubw1.html?share_token715beaff-33ef-466b-8b6c-092880b9a716&tt_fromcopy_link&utm_sourcecopy_link&utm_mediumtoutiao_android&utm_campaignclient_share - 【科学决策七步骤 - 希律心理】 - 今日头条 提取标题和正文input输…...
docker--redis容器部署及与SpringBoot整合
1. 容器化部署docker 拉取镜像创建数据目录data 及 配置目录conf创建配置文件redis.conf启动redis容器进入容器,进行Redis操作设置为自启动:docker update redis --restart=alwaysdocker pull redis:5.0.12docker run -d --rm --name my_redis -p 6379:6379 -v D:/docker/red…...
数据库:Hive转Presto(二)
继续上节代码,补充了replace_func函数, import re import os from tkinter import *class Hive2Presto:def __int__(self):self.t_funcs [substr, nvl, substring, unix_timestamp] \[to_date, concat, sum, avg, abs, year, month, ceiling, floor]s…...
mui做网站的好处/seo是什么单位
1.下载相应的jar包 所有关于CDH版本的软件包下载地址如下 http://archive.cloudera.com/cdh5/cdh/5/ HBase对应的版本下载地址如下 http://archive.cloudera.com/cdh5/cdh/5/hbase-1.2.0-cdh5.14.0.tar.gz 2.上传到Linux并解压 tar zxvf hbase-1.2.0-cdh5.14.0.tar.gz -C ../s…...
网站做调查问卷给钱的兼职/东莞做网站seo
我们有一个财务系统比较看重财务数据的安全性,同时我们拥有两套系统,一个生产环境(Linux),一个应急备份环境(Windows)。备份环我们有一个财务系统比较看重财务数据的安全性,同时我们拥有两套系统,一个生产环境(Linux)&…...
云南网站建设公司排名/域名收录批量查询
刚才打开VS2005,想写个小例子,在新建项目时突然发现Visual C#下的项目模版如Windows Application、Class Library等都不见了,只剩下了Castle中的两个项目模版,如下图,哪位朋友知道是怎么回事吗,劳烦告知一声…...
西瓜网络深圳网站建设 东莞网站建设/微信销售平台
VC++开发常用功能一系列文章 (欢迎订阅,持续更新...) 第28章:VC++串口封装类(附源码) 源代码demo已上传到百度网盘:永久生效 CSerialCom 封装了打开,发接,接收等功能! 这个代码是 class CSerialCom { public:CSerialCom(void);~CSerialCom(void);HANDLE m_hCom;C…...
drupal与wordpress哪个容易/外包公司被辞退有补偿吗
我使用lartc.org和iptables方法完成了负载平衡,我发现iptables方法更容易理解和实现.唯一的缺点是你需要一个相当新的iptables版本才能使用统计模块让我们假设一些事情:LAN:eth0:192.168.0.1/24ISP1:eth1:192.168.1.1/…...
微网站 小程序 区别/上海seo招聘
1、五只猴子分桃。半夜,第一只猴子先起来,它把桃分成了相等的五堆,多出一只。于是,它吃掉了一个,拿走了一堆; 第二只猴子起来一看,只有四堆桃。于是把四堆合在一起,分成相等的五堆&a…...