第 126 场 LeetCode 双周赛题解
A 求出加密整数的和
模拟
class Solution {
public:int sumOfEncryptedInt(vector<int> &nums) {int res = 0;for (auto x: nums) {string s = to_string(x);char ch = *max_element(s.begin(), s.end());for (auto &c: s)c = ch;res += stoi(s);}return res;}
};
B 执行操作标记数组中的元素
模拟:用堆维护元素中的最小元素,用数组记录元素是否被标记过,模拟对数组的操作过程
class Solution {
public:using ll = long long;vector<long long> unmarkedSumArray(vector<int> &nums, vector<vector<int>> &queries) {priority_queue<pair<int, int>, vector<pair<int, int>>, greater<>> heap;//最小堆int n = nums.size();for (int i = 0; i < n; i++)heap.emplace(nums[i], i);ll s = accumulate(nums.begin(), nums.end(), 0LL);vector<int> tag(n);vector<ll> res;for (auto &q: queries) {if (!tag[q[0]]) {//未被标记过tag[q[0]] = 1;s -= nums[q[0]];}for (int i = 0; i < q[1] && !heap.empty();) {//尽量标记ki个数组中还没有标记的最小元素auto [v, ind] = heap.top();heap.pop();if (tag[ind])continue;tag[ind] = 1;s -= v;i++;}res.push_back(s);}return res;}
};
C 替换字符串中的问号使分数最小
贪心:记录 s s s 中各英文字母的出现次数,然后遍历 s s s ,遇到 ? ? ? 时将当前出现次数最小的英文字母放至该位置,同时该字母出现次数 + 1 +1 +1 ,最后对原字符串中所有 ? ? ? 处的字母进行排序,即得到满足条件的字符串
class Solution {
public:string minimizeStringValue(string s) {vector<int> cnt(26);string res;vector<char> li;vector<int> loc;int j = 0;for (auto c: s)if (c != '?')cnt[c - 'a']++;for (auto c: s) {if (c == '?') {int mn = *min_element(cnt.begin(), cnt.end());for (int i = 0; i < 26; i++)if (cnt[i] == mn) {cnt[i]++;li.push_back('a' + i);loc.push_back(j);break;}}j++;}sort(li.begin(), li.end());for (int i = 0; i < li.size(); i++)s[loc[i]] = li[i];return s;}
};
D 求出所有子序列的能量和
动态规划:设 p [ i + 1 ] [ j ] [ v ] p[i+1][j][v] p[i+1][j][v] 为字符串 n u m s [ 0 , i ] nums[0,i] nums[0,i] 中长度为 j j j 和为 v v v 的自序列的数目,因为 n u m s nums nums 任意一个长为 j j j 的子序列, n u m s nums nums 包含该子序列的子序列数目为 2 n − j 2^{n-j} 2n−j ,所以 n u m s nums nums 中所有子序列的能量和为 ∑ j = 1 n p [ n ] [ j ] [ k ] × 2 n − j \sum_{j=1}^n p[n][j][k]\times 2^{n-j} ∑j=1np[n][j][k]×2n−j
class Solution {
public:using ll = long long;int sumOfPower(vector<int> &nums, int k) {ll mod = 1e9 + 7;int n = nums.size();int p[n + 1][n + 1][k + 1];memset(p, 0, sizeof(p));p[0][0][0] = 1;for (int i = 0; i < n; i++) {p[i + 1][0][0] = 1;for (int j = 1; j <= i + 1; j++)for (int v = 1; v <= k; v++) {if (v - nums[i] >= 0)p[i + 1][j][v] = (p[i + 1][j][v] + p[i][j - 1][v - nums[i]]) % mod;p[i + 1][j][v] = (p[i + 1][j][v] + p[i][j][v]) % mod;}}vector<ll> pow(n);pow[0] = 1;for (int i = 1; i < n; i++)pow[i] = pow[i - 1] * 2 % mod;ll res = 0;for (int j = 1; j <= n; j++)if (p[n][j][k])res = (res + p[n][j][k] * pow[n - j]) % mod;return (res + mod) % mod;}
};
相关文章:

第 126 场 LeetCode 双周赛题解
A 求出加密整数的和 模拟 class Solution { public:int sumOfEncryptedInt(vector<int> &nums) {int res 0;for (auto x: nums) {string s to_string(x);char ch *max_element(s.begin(), s.end());for (auto &c: s)c ch;res stoi(s);}return res;} };B 执行…...

固态浸压计
Solid State Dip Meter(固态浸没仪/固态浸压计) 是真空管栅极浸入式仪表的固态半导体版本。它是一种用于测量 LC 电路谐振频率的仪器。LC 电路是由电感 (L) 和电容 (C) 组成的电路。当电感的感抗与电容的容抗相互抵消时,这些元件可以谐振于特定频率。 固态浸入式仪…...

Ubuntu上搭建TFTP服务
Ubuntu上搭建TFTP服务 TFTP服务简介搭建TFTP服务安装TFTP服务修改配置文件 重启服务 TFTP服务简介 TFTP是一个基于UDP协议实现的用于在客户机和服务器之间进行简单文件传输的协议,适用于开销不大、不复杂的应用场合。TFTP协议专门为小文件传输而设计,只…...

SpringBoot3框架,事件和监听器、SPI
事件和监听器 生命周期监听 自定义监听器的步骤: 编写SpringApplicationRunListener实现类(各个实现方法的功能写在其sout内) public class MyAppListener implements SpringApplicationRunListener {Overridepublic void starting(Configu…...

sadtalker-api/
———— 下载sadtalker工程文件,包括844个模型 。。。。。。。。。。。。。。。。 配置环境: pip源,设置: pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple anaconda prompt, 进入命令行 how在 …...
vue+elementUI实现指定列的单元格可编辑
template中的代码如下: <div v-if"(item.label 高压侧 || item.label 低压侧)&&coloumnHeader.label 单柱片数"><div class"editableCell"><div v-if"item.label 高压侧" dblclick"changeValue(sco…...

RK3568平台开发系列讲解(基础篇)内核是如何发送事件到用户空间
🚀返回专栏总目录 文章目录 一、相关接口函数二、udevadm 命令三、实验沉淀、分享、成长,让自己和他人都能有所收获!😄 一、相关接口函数 kobject_uevent 是 Linux 内核中的一个函数, 用于生成和发送 uevent 事件。 它是 udev 和其他设备管理工具与内核通信的一种方式。…...

力扣---打家劫舍---动态规划
思路 1: 我将res[i]定义为:一定要取第 i 个房子的前提下,能获取的最大金额。那么直接用cnt从头记录到尾,每个房子的res最大值即是答案。那么递推公式是什么?res[i]max(res[i-2],res[i-1],...,res[0])nums[i]。数组初始…...
mac安装rust环境
mac安装rust环境 老规矩官方文档 1. mac官网使用的是脚本安装, 至于为啥没使用brew也没推荐俺也不太清楚 curl --proto https --tlsv1.2 -sSf https://sh.rustup.rs | sh2. 一般来说中途会遇见有一个选择我这里选择直接回车默认安装(如果以后我研究明白的话会进行更新, 现在是…...

1058:求一元二次方程
【题目描述】 利用公式 求一元二次方程axbxc0的根,其中a不等于0。结果要求精确到小数点后5位。 【输入】 输入一行,包含三个浮点数a,b,c(它们之间以一个空格分开),分别表示方程axbxc0的系数。 【输出】 输出一行&…...
GraphQL入门之一对多关联查询
创建 Node.js 的工程 mkdir myapp cd myapp npm init (一路回车)安装依赖包 npm install apollo/server graphql定义 Schema 创建 schema.graphql 文件,内容如下: type Book {title: String!author: Author! }type Author {name: String!books: [Boo…...
MATLAB和Python数值和符号计算可视化物理学气体动能和粒子速度
要点 Python物理学差分数值和符号计算 热动力学计算:统计力学,分子动力学模型 Python寻找弹性物体的运动,LAMMPS 分子动力学模拟器模拟2D气体分子,Python原子模拟绘图,Python数值计算原子平衡性,Python绘制…...

阿里云-零基础入门NLP【基于机器学习的文本分类】
文章目录 学习过程赛题理解学习目标赛题数据数据标签评测指标解题思路TF-IDF介绍TF-IDF 机器学习分类器TF-IDF LinearSVCTF-IDF LGBMClassifier 学习过程 20年当时自身功底是比较零基础(会写些基础的Python[三个科学计算包]数据分析),一开始看这块其实挺懵的&am…...

蓝桥杯模块综合——高质量讲解AT24C02,BS18B20,BS1302,AD/DA(PCF8591),超声波模块
AT24C02——就是一个存储的东西,可以给他写东西,掉电不丢失。 void EEPROM_Write(unsigned char * EEPROM_String,unsigned char addr , unsigned char num) {IIC_Start();IIC_SendByte(0xA0);IIC_WaitAck();IIC_SendByte(addr);IIC_WaitAck();while(nu…...

前端跨平台开发框架:简化多端开发的利器
🤍 前端开发工程师、技术日更博主、已过CET6 🍨 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 🕠 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 🍚 蓝桥云课签约作者、上架课程《Vue.js 和 E…...

cesium.js加载模型后,重新设置旋转角度属性值
// 加载模型var position Cesium.Cartesian3.fromDegrees(longitude, latitude, height);// 计算矩阵var rollAngleDegrees 15; // 设置翻滚角度var rollAngleRadians Cesium.Math.toRadians(rollAngleDegrees); // 将角度转换为弧度var orientation Cesium.Transforms.eas…...

②免费AI软件开发工具测评:通义灵码 VS 码上飞
前言 我又双叒叕来测评了!上次给大家带来的是iFlyCode和CodeFlying两款产品的测评,受到了大家的一致好评~ 今天咱就继续来聊聊,这次我们选的的对象是通义灵码和码上飞,从名字上也能看到出来这两款产品一定是跟软件开发有关系的&…...

幻兽帕鲁游戏搭建(docker)
系列文章目录 第一章: 幻兽帕陆游戏搭建 文章目录 系列文章目录前言一、镜像安装1.创建游戏目录2.拉取镜像3.下载配置文件4.启动游戏 二、自定义配置总结 前言 这段时间一直在写论文还有找工作,也没学啥新技术,所以博客也很长时间没写了&am…...

unity报错出现Asset database transaction committed twice!
错误描述: 运行时报错 Assertion failed on expression: ‘m_ErrorCode MDB_MAP_RESIZED || !HasAbortingErrors()’Asset database transaction committed twice!Assertion failed on expression: ‘errors MDB_SUCCESS || errors MDB_NOTFOUND’ 解决办法&…...
去除项目git的控制 端口号的关闭
以下操作都是在windows下。只是记录一下。 find . -name “.git” | xargs rm -rf 查看所有分支 git branch -a 查看当前分支 git branch -a 切换分支 git chenkout develop docker 查看容器的ip docker inspect -f ‘{{.Name}} - {{range .NetworkSettings.Networks}}{{.IP…...
Python|GIF 解析与构建(5):手搓截屏和帧率控制
目录 Python|GIF 解析与构建(5):手搓截屏和帧率控制 一、引言 二、技术实现:手搓截屏模块 2.1 核心原理 2.2 代码解析:ScreenshotData类 2.2.1 截图函数:capture_screen 三、技术实现&…...

Cinnamon修改面板小工具图标
Cinnamon开始菜单-CSDN博客 设置模块都是做好的,比GNOME简单得多! 在 applet.js 里增加 const Settings imports.ui.settings;this.settings new Settings.AppletSettings(this, HTYMenusonichy, instance_id); this.settings.bind(menu-icon, menu…...

UR 协作机器人「三剑客」:精密轻量担当(UR7e)、全能协作主力(UR12e)、重型任务专家(UR15)
UR协作机器人正以其卓越性能在现代制造业自动化中扮演重要角色。UR7e、UR12e和UR15通过创新技术和精准设计满足了不同行业的多样化需求。其中,UR15以其速度、精度及人工智能准备能力成为自动化领域的重要突破。UR7e和UR12e则在负载规格和市场定位上不断优化…...
Spring是如何解决Bean的循环依赖:三级缓存机制
1、什么是 Bean 的循环依赖 在 Spring框架中,Bean 的循环依赖是指多个 Bean 之间互相持有对方引用,形成闭环依赖关系的现象。 多个 Bean 的依赖关系构成环形链路,例如: 双向依赖:Bean A 依赖 Bean B,同时 Bean B 也依赖 Bean A(A↔B)。链条循环: Bean A → Bean…...

推荐 github 项目:GeminiImageApp(图片生成方向,可以做一定的素材)
推荐 github 项目:GeminiImageApp(图片生成方向,可以做一定的素材) 这个项目能干嘛? 使用 gemini 2.0 的 api 和 google 其他的 api 来做衍生处理 简化和优化了文生图和图生图的行为(我的最主要) 并且有一些目标检测和切割(我用不到) 视频和 imagefx 因为没 a…...
Web中间件--tomcat学习
Web中间件–tomcat Java虚拟机详解 什么是JAVA虚拟机 Java虚拟机是一个抽象的计算机,它可以执行Java字节码。Java虚拟机是Java平台的一部分,Java平台由Java语言、Java API和Java虚拟机组成。Java虚拟机的主要作用是将Java字节码转换为机器代码&#x…...

Golang——6、指针和结构体
指针和结构体 1、指针1.1、指针地址和指针类型1.2、指针取值1.3、new和make 2、结构体2.1、type关键字的使用2.2、结构体的定义和初始化2.3、结构体方法和接收者2.4、给任意类型添加方法2.5、结构体的匿名字段2.6、嵌套结构体2.7、嵌套匿名结构体2.8、结构体的继承 3、结构体与…...
MinIO Docker 部署:仅开放一个端口
MinIO Docker 部署:仅开放一个端口 在实际的服务器部署中,出于安全和管理的考虑,我们可能只能开放一个端口。MinIO 是一个高性能的对象存储服务,支持 Docker 部署,但默认情况下它需要两个端口:一个是 API 端口(用于存储和访问数据),另一个是控制台端口(用于管理界面…...
前端中slice和splic的区别
1. slice slice 用于从数组中提取一部分元素,返回一个新的数组。 特点: 不修改原数组:slice 不会改变原数组,而是返回一个新的数组。提取数组的部分:slice 会根据指定的开始索引和结束索引提取数组的一部分。不包含…...
Leetcode33( 搜索旋转排序数组)
题目表述 整数数组 nums 按升序排列,数组中的值 互不相同 。 在传递给函数之前,nums 在预先未知的某个下标 k(0 < k < nums.length)上进行了 旋转,使数组变为 [nums[k], nums[k1], …, nums[n-1], nums[0], nu…...