第 366 场周赛 LeetCode 周赛题解

A 分类求和并作差

在这里插入图片描述

模拟

class Solution {
public:int differenceOfSums(int n, int m) {int res = 0;for (int i = 1; i <= n; i++)res += i % m != 0 ? i : -i;return res;}
};

B 最小处理时间

在这里插入图片描述

排序:设四个 p r o c e s s o r T i m e processorTime processorTime 的元素形成的数组为 p p p p p p 降序排序, t a s k s tasks tasks 升序排序, p p p t a s k s tasks tasks 按下标逐位相加产生的最大元素即为答案

class Solution {
public:int minProcessingTime(vector<int> &processorTime, vector<int> &tasks) {vector<int> p;for (auto x: processorTime)for (int i = 0; i < 4; i++)p.push_back(x);sort(p.begin(), p.end(), greater<>());sort(tasks.begin(), tasks.end());int res = 0;for (int i = 0; i < tasks.size(); i++)res = max(res, p[i] + tasks[i]);return res;}
};

C 执行操作使两个字符串相等

在这里插入图片描述

动态规划:设 s 1 s1 s1 s 2 s2 s2 相同下标元素不同的下标位置的序列为 l i li li ,若 l i li li 长度为奇数则返回 − 1 -1 1 。设 p i , j p_{i,j} pi,j 为使得 s 1 s1 s1 l i [ i , j ] li[i,j] li[i,j] 中的下标处与 s 2 s2 s2 相同的最小代价, p i , j p_{i,j} pi,j 可由 p i + 1 , j − 1 p_{i+1,j-1} pi+1,j1 p i , k + p k + 1 , j p_{i,k}+p_{k+1,j} pi,k+pk+1,j转移得到。

class Solution {
public:int minOperations(string s1, string s2, int x) {vector<int> li;for (int i = 0; i < s1.size(); i++)if (s1[i] != s2[i])li.push_back(i);if (li.empty())return 0;if (li.size() & 1)return -1;int m = li.size();int p[m][m];for (int len = 1; len <= m; len++)for (int i = 0, j = i + len - 1; j < m; i++, j++)if (len & 1)p[i][j] = -1;else {if (len == 2)p[i][j] = li[j] == li[i] + 1 ? 1 : min(x, li[j] - li[i]);else {p[i][j] = p[i + 1][j - 1] + x;for (int k = i + 1; k < j; k += 2)p[i][j] = min(p[i][j], p[i][k] + p[k + 1][j]);}}return p[0][m - 1];}
};

D 对数组执行操作使平方和最大

在这里插入图片描述

贪心:题目所述操作不会改变数组中二进制各位上的 1 1 1 的数目,所以统计二进制各位 1 1 1 的总数,按非降序,尽可能大地生成 k k k个数。

class Solution {
public:int maxSum(vector<int> &nums, int k) {vector<int> cnt(31);long long mod = 1e9 + 7;for (auto x: nums)for (int i = 0; i <= 30; i++)if (x >> i & 1)cnt[i]++;int res = 0;while (k--) {int cur = 0;for (int i = 0; i <= 30; i++)if (cnt[i]) {cnt[i]--;cur |= 1 << i;}res = (res + 1LL * cur * cur % mod) % mod;}return (res + mod) % mod;}
};

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

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

相关文章

JavaScript 解决dayjs在周日获取当前周第一天显示下一周第一天问题

原因&#xff1a;默认情况下&#xff0c;Day.js 将星期天视为每周的第一天。 方法&#xff1a;判断当天是不是周日&#xff0c;如果是就减一周。 import dayjs from dayjs const weekday dayjs().day() const we weekday 0 ? 0 - 1 : 0 // dayjs().add(7, day)、da…

配置Hive使用Spark执行引擎

配置Hive使用Spark执行引擎 Hive引擎概述兼容问题安装SparkSpark配置Hive配置HDFS上传Spark的jar包执行测试速度对比 Hive引擎 概述 在Hive中&#xff0c;可以通过配置来指定使用不同的执行引擎。Hive执行引擎包括&#xff1a;默认MR、tez、spark MapReduce引擎&#xff1a; 早…

JRebel在IDEA中实现热部署 (JRebel实用版)

JRebel简介&#xff1a; JRebel是与应用程序服务器集成的JVM Java代理&#xff0c;可使用现有的类加载器重新加载类。只有更改的类会重新编译并立即重新加载到正在运行的应用程序中&#xff0c;JRebel特别不依赖任何IDE或开发工具&#xff08;除编译器外&#xff09;。但是&…

bert入门

bert是什么 BERT&#xff08;Bidirectional Encoder Representations from Transformers&#xff09;是一种自然语言处理&#xff08;NLP&#xff09;中的预训练模型&#xff0c;它是基于Transformer架构的一种深度学习模型。BERT的主要目标是在大规模文本语料库上进行预训练&a…

Maven 自动化构建

自动化构建定义了这样一种场景: 在一个项目成功构建完成后&#xff0c;其相关的依赖工程即开始构建&#xff0c;这样可以保证其依赖项目的稳定。 比如一个团队正在开发一个项目 bus-core-api&#xff0c; 并且有其他两个项目 app-web-ui 和 app-desktop-ui 依赖于这个项目。 …

【安鸾靶场】cmseasy内网渗透 (500分)

文章目录 题目一、渗透开始后台执行rce漏洞内网横向 题目 一、渗透开始 上burp后没有报漏洞&#xff1a; /admin存在后台&#xff1a; 爆破一下&#xff1a; admin admin123 后台执行rce漏洞 POC&#xff1a; 1111111111";}<?php phpinfo()?> 触发漏洞&#xf…

【Unity ShaderGraph】| 如何快速制作一个炫酷 模型裁剪效果 实战

前言 【Unity ShaderGraph】| 如何快速制作一个炫酷 模型裁剪效果 实战一、效果展示二、简易裁剪效果三、进阶裁剪效果四、应用实例 前言 本文将使用Unity 的ShaderGraph制作一个模型裁剪的效果&#xff0c;可以直接拿到项目中使用。对ShaderGraph还不了解的小伙伴可以参考这篇…

唐老师讲电赛

dc-dc电源布局要点

Android平台GB28181设备接入侧如何实现SIP校时

规范解读 GB/T28181-2016规范里面&#xff0c;9.10.1章节&#xff0c;关于校时基本要求&#xff1a; 联网内设备支持基于SIP方式或 NTP方式的网络校时功能&#xff0c;标准时间为北京时间。 SIP方式校时见本节具体描述&#xff1b;NTP(见IETFRFC2030)协议的网络统一校时服务…

Docker 基础

一、快速入门&#xff1a; 1.Docker的安装 安装docker引擎 官方网址&#xff1a;Install Docker Engine on CentOS | Docker Docs 朋友们&#xff0c;有坑&#xff0c;千万不要用官方的仓库&#xff0c;就是下面这一步 记得用国内的镜像源&#xff1a; yum-config-manager …

基于ffmpeg给视频添加时间字幕

FFmpeg是一套可以用来记录、转换数字音频、视频&#xff0c;并能将其转化为流的开源计算机程序&#xff0c;我们可以基于ffmpeg对视频进行各种操作。本文主要介绍基于ffmpeg给视频添加字幕&#xff0c;字幕的内容为视频所播放的时间&#xff08;故需要安装ffmpeg&#xff0c;具…

多项目并行管理:优化协调策略提高效率

多项目同时进行已然是大部分项目管理者面临的现状了。相比于单项目管理&#xff0c;多项目管理可能会出现项目资源分配不均&#xff0c;项目进度监控难以及沟通协作复杂等问题。 可以通过一款灵活高效得项目管理工具&#xff0c;来帮助您进行多项目管理&#xff0c;比如 Zoho …