第 109 场 LeetCode 双周赛

A 检查数组是否是好的

在这里插入图片描述

暴力: 排序后遍历判断

class Solution {
public:bool isGood(vector<int> &nums) {sort(nums.begin(), nums.end());for (int i = 0; i < nums.size() - 1; i++)if (nums[i] != i + 1)return false;return nums.back() == nums.size() - 1;}
};

B 将字符串中的元音字母排序

在这里插入图片描述

模拟: 单独对元音字母排序并对元音字母所在的位置按序赋值

class Solution {
public:string sortVowels(string s) {set<char> se{'a', 'e', 'i', 'o', 'u', 'A', 'E', 'I', 'O', 'U'};vector<char> li;for (auto c: s)if (se.count(c))li.push_back(c);sort(li.begin(), li.end());int i = 0;for (auto &c: s)if (se.count(c))c = li[i++];return s;}
};

C 访问数组中的位置使分数最大

在这里插入图片描述

动态规划: 定义 p i , 0 p_{i,0} pi,0为在 n u m s [ 0 , i ] nums[0,i] nums[0,i]上最后一个访问的元素为偶数的最大得分和, p i , 1 p_{i,1} pi,1为在 n u m s [ 0 , i ] nums[0,i] nums[0,i]上最后一个访问的元素为奇数的最大得分和. p i , j p_{i,j} pi,j的状态只与 p i − 1 , 0 p_{i-1,0} pi1,0 p i − 1 , 1 p_{i-1,1} pi1,1有关.

class Solution {
public:typedef long long ll;long long maxScore(vector<int> &nums, int x) {int n = nums.size();ll p[n][2];p[0][nums[0] & 1] = nums[0];p[0][nums[0] & 1 ^ 1] = INT64_MIN;//无效标志ll res = p[0][nums[0] & 1];for (int i = 1; i < n; i++) {p[i][0] = INT64_MIN;p[i][1] = INT64_MIN;if (p[i - 1][nums[i] & 1] != INT64_MIN)p[i][nums[i] & 1] = max(p[i - 1][nums[i] & 1], p[i - 1][nums[i] & 1] + nums[i]);if (p[i - 1][nums[i] & 1 ^ 1]!= INT64_MIN)p[i][nums[i] & 1] = max(p[i][nums[i] & 1], p[i - 1][nums[i] & 1 ^ 1] + nums[i] - x);p[i][nums[i] & 1 ^ 1] = p[i - 1][nums[i] & 1 ^ 1];res = max({res, p[i][0], p[i][1]});}return res;}
};

D 将一个数字表示成幂的和的方案数

在这里插入图片描述

动态规划: 定义 p v , m x p_{v,mx} pv,mx为将 v v v 表示成一些互不相同且其中最大值为 m x mx mx的正整数的 x 次幂之和的方案数. 有状态转移方程: p v , m x = ∑ k = 0 m x − 1 p v − m x x , k p_{v,mx}=\sum_{k=0} ^{mx-1} p_{v-mx^x, k} pv,mx=k=0mx1pvmxx,k, 实现时可以用前缀和减少计算: s v , i = ∑ k = 0 i p v , k s_{v,i}=\sum_{k=0}^ i p_{v,k} sv,i=k=0ipv,k

typedef long long ll;ll fpow(ll x, ll n) {//快速幂: x^nll res = 1;for (ll cur = 1, e = x; n; e = e * e, n >>= 1)if (n & 1)res *= e;return res;
}class Solution {
public:ll mod = 1e9 + 7;int numberOfWays(int n, int x) {ll p[n + 1][n + 1];ll s[n + 1][n + 1];memset(p, 0, sizeof(p));memset(s, 0, sizeof(s));p[0][0] = 1;for (int i = 0; i <= n; i++)s[0][i] = 1;for (int v = 1; v <= n; v++) {for (int mx = 1; mx <= v && v - fpow(mx, x) >= 0; mx++)p[v][mx] = s[v - fpow(mx, x)][mx - 1];for (int i = 1; i <= n; i++)s[v][i] = (s[v][i - 1] + p[v][i]) % mod;}return (s[n][n] + mod) % mod;}
};

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

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

相关文章

【转载】elasticsearch 倒排索引原理

由于整型数字 integer 可以被高效压缩的特质&#xff0c;integer 是最适合放在 postings list 作为文档的唯一标识的&#xff0c;ES 会对这些存入的文档进行处理&#xff0c;转化成一个唯一的整型 id&#xff08;这个id是document的id&#xff09;。 再说下这个 id 的范围&…

钉钉和MySQL接口打通对接实战

钉钉和MySQL接口打通对接实战 对接系统钉钉 钉钉&#xff08;DingTalk&#xff09;是阿里巴巴集团专为中国企业打造的免费沟通和协同的多端平台&#xff0c;提供PC版&#xff0c;Web版和手机版&#xff0c;有考勤打卡、签到、审批、日志、公告、钉盘、钉邮等强大功能。 目标系统…

【测试开发】Python+Django实现接口测试工具

PythonDjango接口自动化 引言&#xff1a; 最近被几个公司实习生整自闭了&#xff0c;没有基础&#xff0c;想学自动化又不知道怎么去学&#xff0c;没有方向没有头绪&#xff0c;说白了其实就是学习过程中没有成就感&#xff0c;所以学不下去。出于各种花里胡哨的原因&#xf…

目标检测——SSD模型介绍

目录 SSD网络结构backboneextra部分loc和clsPriorBox层先验框的生成方法loc的预测结果 模型训练正负样本标记损失函数困难样本挖掘 模型预测 SSD网络结构 backbone extra部分 loc和cls PriorBox层先验框的生成方法 loc的预测结果 模型训练 正负样本标记 损失函数 困难样本挖掘…

原神盲盒风格:AI绘画Stable Diffusion原神人物公仔实操:核心tag+lora模型汇总

本教程收集于&#xff1a;AIGC从入门到精通教程汇总 在这篇文章中&#xff0c;我们将深入探讨原神盲盒的艺术风格&#xff0c;以及如何运用AI绘画技术&#xff08;Stable Diffusion&#xff09;——来创造原神角色公仔。我们将通过实践操作让读者更好地理解这种技术&#xff0…

【Java基础教程】(十八)包及访问权限篇 · 下:Java编程中的权限控制修饰符、单例设计模式 (Singleton)和多例设计模式的综合探析~

Java基础教程之包及访问权限 下 本节学习目标1️⃣ 访问控制权限2️⃣ 命名规范3️⃣ 单例设计模式 (Singleton)4️⃣ 多例设计模式 本节学习目标 掌握Java 中的4种访问权限&#xff1b;掌握Java 语言的命名规范&#xff1b;掌握单例设计模式与多例设计模式的定义结构&#x…

界面控件DevExpress WPF数据编辑器组件,让数据处理更灵活!(二)

界面控件DevExpress WPF编辑器库可以帮助用户提供直观的用户体验&#xff0c;具有无与伦比的运行时选项和灵活性。WPF数据编辑器提供了全面的掩码和数据验证支持&#xff0c;可以独立使用&#xff0c;也可以作为容器控件(如DevExpress WPF Grid和WPF TreeList)中的单元格编辑器…

【Kubernetes部署篇】ingress-nginx高可用架构实施部署

文章目录 一、环境说明二、实施过程1、部署Ingress Controller2、安装并配置Nginx3、安装并配置Keepalived3、测试keepalived主备切换 三、创建Ingress规则&#xff0c;测试七层转发 一、环境说明 1、环境说明&#xff1a; IP地址主机名称备注16.32.15.201node-1K8S节点16.32…

共享汽车管理系统nodejs+vue

语言 node.js 框架&#xff1a;Express 前端:Vue.js 数据库&#xff1a;mysql 数据库工具&#xff1a;Navicat 开发软件&#xff1a;VScode 前端nodejsvueelementui, 共享汽车管理系统的系统管理员可以管理用户&#xff0c;可以对用户信息修改删除以及查询操作。具体界面的展…

微信小程序02

组件 组件生命周期 小程序组件生命周期&#xff0c;写在lifetimes中&#xff1a; created &#xff1a; 当组件实例刚刚被创建&#xff0c;&#xff0c;不能调用 this.setData()attached &#xff1a; 组件实例进入 页面节点树时 执行detached&#xff1a; 组件实例 从 页面…

Django项目开发快速入门

Django项目开发快速入门 生成Django项目编写module后台管理系统admin自定义管理页面视图函数使用Django模板 生成Django项目 现在cmd中使用命令安装Django框架 pip install django3.2使用命令生成项目 django-admin startproject DjStore使用命令生成应用 python .\manage.…

Redis应用(2)——Redis的项目应用(一):验证码 ---> UUID到雪花ID JMeter高并发测试 下载安装使用

目录 引出Redis的项目应用&#xff08;一&#xff09;&#xff1a;验证码1.整体流程2.雪花ID1&#xff09;UUID&#xff08;Universally Unique Identifier&#xff0c;通用唯一识别码&#xff09;2&#xff09;Twitter 的雪花算法&#xff08;SnowFlake&#xff09; 雪花ID优缺…

【Java】一个简单的接口例子(帮助理解接口+多态)

要求&#xff1a; 请实现笔记本电脑使用USB鼠标、USB键盘的例子 1. USB 接口&#xff1a;包含打开设备、关闭设备功能 2. 笔记本类&#xff1a;包含开机功能、关机功能、使用 USB 设备功能 3. 鼠标类&#xff1a;实现 USB 接口&#xff0c;并具备点击功能 4. 键盘类&am…

磁盘分区形式MBR与GPT介绍

磁盘分区形式MBR与GPT介绍 磁盘分区形式有两种&#xff1a; 1、MBR&#xff08;主启动记录&#xff09;形式&#xff0c;它是存在于磁盘驱动器开始部分的一个特殊的启动扇区&#xff1b; 2、GPT&#xff08;GUID分区表&#xff09;形式&#xff0c;它是一种使用UEFI启动的磁盘…

C#使用Linq和Loop计算集合的平均值、方差【标准差】

方差【标准差】 标准差公式是一种数学公式。标准差也被称为标准偏差&#xff0c;或者实验标准差&#xff0c;公式如下所示&#xff1a; 样本标准差方差的算术平方根ssqrt(((x1-x)^2 (x2-x)^2 ......(xn-x)^2)/n) 总体标准差σsqrt(((x1-x)^2 (x2-x)^2 ......(xn-x)^2)/n ) …

❤️创意网页:抖音汉字鬼抓人小游戏复刻——附带外挂(“鬼鬼定身术”和“鬼鬼消失术”)坚持60秒轻轻松松(●‘◡‘●)

✨博主&#xff1a;命运之光 &#x1f338;专栏&#xff1a;Python星辰秘典 &#x1f433;专栏&#xff1a;web开发&#xff08;简单好用又好看&#xff09; ❤️专栏&#xff1a;Java经典程序设计 ☀️博主的其他文章&#xff1a;点击进入博主的主页 前言&#xff1a;欢迎踏入…

OpenCv之图像形态学

目录 一、形态学 二、图像全局二值化 三、自适应阈值二值化 四、腐蚀操作 五、获取形态学卷积核 六、膨胀操作 七、开运算 八、闭运算 一、形态学 定义: 指一系列处理图像形状特征的图像处理技术形态学的基本思想是利用一种特殊的结构元(本质上就是卷积核)来测量或提取输…

Flink简介及部署模式

文章目录 1、Flink简介2、Flink部署2.1 本地模式2.1 Standalone模式部署2.2 Standalone模式下的高可用2.3 Yarn模式Yarn模式的高可用配置&#xff1a;yarn模式中三种子模式的区别&#xff1a; 3、并行度4、提交命令执行指定任务Application Mode VS yarn per-job 5、注意事项5、…

4.1 Bootstrap UI 编辑器

文章目录 1. Bootstrap Magic2. BootSwatchr3. Bootstrap Live Editor4. Fancy Boot5. Style Bootstrap6. Lavish7. Bootstrap ThemeRoller8. LayoutIt!9. Pingendo10. Kickstrap11. Bootply12. X-editable13. Jetstrap14. DivShot15. PaintStrap 以下是 15 款最好的 Bootstrap…

ffplay播放器剖析(5)----视频输出剖析

文章目录 1.视频输出模块1.1 视频输出初始化1.1.1 视频输出初始化主要流程1.1.2 calculate_display_rect初始化显示窗口大小 1.2 视频输出逻辑1.2.1 event_loop开始处理SDL事件1.2.2 video_refresh1.2.2.1 计算上一帧显示时长,判断是否还要继续上一帧1.2.2.2 估算当前帧显示时长…