第 360 场 LeetCode 周赛题解

A 距离原点最远的点

在这里插入图片描述

串中的 “_” 处要么都向左走要么都向右走

class Solution {
public:int furthestDistanceFromOrigin(string moves) {int t = 0;for (auto x: moves)if (x != 'R')t--;elset++;int res = abs(t);t = 0;for (auto x: moves)if (x != 'L')t++;elset--;res = max(res, abs(t));return res;}
};

B 找出美丽数组的最小和

在这里插入图片描述
在这里插入图片描述

贪心:升序枚举正数,用集合维护当前数组中已有的数

class Solution {
public:long long minimumPossibleSum(int n, int target) {long long res = 0;set<int> vis;for (int i = 1; vis.size() != n; i++)if (!vis.count(target - i)) {res += i;vis.insert(i);}return res;}
};

C 使子序列的和等于目标的最少操作次数

在这里插入图片描述
在这里插入图片描述

贪心:首先只有 n u m s nums nums 的数组和小于 t a r g e t target target 才无解,若有解则从低位到高位枚举 t a r g e t target target 的二进制表示的各位,设当前位对应 2 i 2^i 2i ,且 t a r g e t target target i i i 位为 1 1 1,有两种情况:

  • n u m s nums nums中不超过 2 i 2^i 2i 的数的和 ≥ \ge 2 i 2^i 2i :则一定存在若干个不超过 2 i 2^i 2i 的数之和恰好为 2 i 2^i 2i
  • n u m s nums nums中不超过 2 i 2^i 2i 的数的和 < < < 2 i 2^i 2i :需要把 n u m s nums nums 中一个最小的大于 2 i 2^i 2i 的数 2 j 2^j 2j 操作若干次来生成一个 2 i 2^i 2i

第二种情况会产生操作数,枚举过程种注意维护不超过 2 i 2^i 2i 的数的和。

class Solution {
public:int minOperations(vector<int> &nums, int target) {if (accumulate(nums.begin(), nums.end(), 0LL) < target)return -1;unordered_map<int, int> cnt;for (auto x: nums)cnt[x]++;int res = 0;long long ps = 0;//nums中不超过2^i的数之和for (int i = 0, e = 1; i < 31; i++, e <<= 1) {//逐位枚举ps += 1LL * cnt[e] * e;if (!(target >> i & 1))continue;if (ps >= e) {ps -= e;continue;}int j = i + 1;while (cnt[1 << j] <= 0)//找nums中大于2^i的最小的2^jj++;res += j - i;//记录操作数cnt[1 << j]--;for (int k = i + 1; k < j; k++)cnt[1 << k] = 1;ps += e;}return res;}
};

D 在传球游戏中最大化函数值

在这里插入图片描述
在这里插入图片描述

倍增:设 g [ i ] [ j ] g[i][j] g[i][j] 为球最初在 i i i 手里,传 2 j 2^j 2j 次球的过程中每次接触球玩家的编号之和。设 v [ i ] [ j ] v[i][j] v[i][j] 表示球最初在 i i i 手里,传 2 j 2^j 2j 次球后球在 v [ i ] [ j ] v[i][j] v[i][j]手里。预处理求处理 g g g v v v,之后枚举 i ∈ [ 0 , n ) i \in [0,n) i[0,n),然后枚举 k k k 二进制各位来求 f [ i ] f[i] f[i]

class Solution {
public:long long getMaxFunctionValue(vector<int> &receiver, long long k) {int n = receiver.size();long long g[n][35], v[n][35];for (int j = 0; j < 35; j++)for (int i = 0; i < n; i++)if (j != 0) {g[i][j] = g[i][j - 1] + g[v[i][j - 1]][j - 1] - v[i][j - 1];v[i][j] = v[v[i][j - 1]][j - 1];} else {g[i][j] = i + receiver[i];v[i][j] = receiver[i];}long long res = 0;for (int i = 0; i < n; i++) {long long cur = 0;int last = i;for (long long j = 0; j < 35; j++)if (k >> j & 1) {//枚举k二进制各位cur += g[last][j] - last;last = v[last][j];}res = max(res, i + cur);}return res;}
};

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

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

相关文章

C语言基础之——指针(下)

前言&#xff1a;本篇文章将继续讲解有关指针的剩余基础知识。 学无止境&#xff0c;一起加油叭&#xff01;&#xff01; 目录 一.指针运算 1.指针 - 整数 2.指针的关系运算 3.指针 - 指针 二.指针与数组 三.二级指针 四.指针数组 总结 一.指针运算 指针运算包括以下三…

可解释性的相关介绍

一、可解释性的元定义&#xff08;Meta-definitions of Interpretability&#xff09; The extent to which an individual can comprehend the cause of a model’s outcome. [1]The degree to which a human can consistently predict a model’s outcome. [2] 可解释性&am…

小研究 - Java虚拟机垃圾收集器的性能分析与调节

垃圾收集器是&#xff2a;&#xff41;&#xff56;&#xff41;虚拟机&#xff08;&#xff2a;&#xff36;&#xff2d;&#xff09;的核心组成部分之一&#xff0c;对&#xff2a;&#xff41;&#xff56;&#xff41;虚拟机的性能有非常重要的影响。本文将介绍&#xff2…

十几款拿来就能用的炫酷表白代码

「作者主页」&#xff1a;士别三日wyx 「作者简介」&#xff1a;CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者 「推荐专栏」&#xff1a;小白零基础《Python入门到精通》 表白代码 1、坐我女朋友好吗&#xff0c;不同意就关机.vbs2、坐我女朋友好吗&…

<八> objectARX开发:动态拖动Jig创建自定义实体

1、介绍 接上一篇文章,在某些情况下,CAD中的实体对象初始参数并不是固定的,我们需要通过jig动态拖动方式来绘制自定义实体,下面就用一个简单的例子来介绍一下自定义实体动态绘制。   实体形状:包括实体夹点和文字夹点拖动实现。 2、效果 3、源码 static void RYMyGrou…

CAN总线学习——物理层、数据链路层、CANopen协议

1、CAN总线介绍 1.1、CAN总线描述 (1)CAN总线支持多节点通信&#xff0c;但是节点不分区主从&#xff0c;也就是不存在一个节点来负责维护总线的通信&#xff1b;这点可以和I2C总线对对比&#xff0c;I2C是一主多从模式&#xff1b; (2)是差分、异步、串行总线&#xff0c;采用…

华为OD机试 - 求满足条件的最长子串的长度 - 双指针(Java 2023 B卷 100分)

目录 专栏导读一、题目描述二、输入描述三、输出描述四、解题思路五、Java算法源码六、效果展示1、输入2、输出3、说明 华为OD机试 2023B卷题库疯狂收录中&#xff0c;刷题点这里 专栏导读 本专栏收录于《华为OD机试&#xff08;JAVA&#xff09;真题&#xff08;A卷B卷&#…

无人驾驶领域的软件测试该如何开展?

无人驾驶汽车使用自主决策和控制系统&#xff0c;这种系统通常由多个软件和硬件组件组成。软件测试是必要的&#xff0c;因为它可以确保无人驾驶汽车的软件系统达到高度可靠性和安全性&#xff0c;以及提高无人驾驶汽车的性能和可靠性。 因此无人驾驶汽车是一定要进行严格的软件…

关于类的隐形生成函数

https://www.youtube.com/watch?ve8Cw17p_BiU&listPL5jc9xFGsL8FWtnZBeTqZBbniyw0uHyaH&index6 https://www.youtube.com/watch?vKMSYmY74AEs&listPLE28375D4AC946CC3&index4 如果只有copy asignment operator, 那么default construct will be generated as…

PyCharm软件安装包分享(附安装教程)

目录 一、软件简介 二、软件下载 一、软件简介 PyCharm是一种集成开发环境&#xff08;IDE&#xff09;&#xff0c;专门为Python开发者设计。它是由捷克软件公司JetBrains开发的&#xff0c;为Python开发人员提供了高效、易用和功能丰富的工具集。 以下是PyCharm软件的主要…

【C语言】操作符大全(保姆级介绍)

&#x1f6a9;纸上得来终觉浅&#xff0c; 绝知此事要躬行。 &#x1f31f;主页&#xff1a;June-Frost &#x1f680;专栏&#xff1a;C语言 &#x1f525;该篇将详细介绍各种操作符的功能。 目录&#xff1a; &#x1f4d8; 前言① 算术操作符②移位操作符③位操作符④赋值操…

JS-this知识点、面试题

一、this指向什么 1.简介 2.规则一&#xff1a;默认绑定 3.规则二&#xff1a;隐式绑定 4.规则四&#xff1a;new绑定 5.规则三&#xff1a;显式绑定 call、apply、bind 6.内置函数的绑定 7.规则优先级 8.this规则之外--es6剪头函数 9.ES6剪头函数this 二、This面试题 面试题…

解决Spring Boot项目中pom.xml环境配置 打包后生效 但idea版本运行无效的问题

上文 Spring Boot中通过maven进行多环境配置 中我们通过pom.xml配置了环境选择 但这个只有在打包出来的jar中生效 我们直接通过 idea启动 这个东西确实是有点问题 其实 我们执行一下 compile 手工编译一下 然后重新启动 很明显 我们这里配置就已经生效了 这个就是 我们每次…

成功解决SQL 错误 [22000]: 第3 行附近出现错误: 试图修改自增列[ID](达梦数据库)

当我们使用工具来手动修改自增列的自增ID时&#xff0c;可能会报如下异常 SQL 错误 [22000]: 第3 行附近出现错误:试图修改自增列[ID] 解决办法&#xff1a; 可以使用SQL语句来修改 ALTER TABLE "fdw"."SYSTEM_DICT_TYPE" DROP IDENTITY; UPDATE "f…

【python】python智能停车场数据分析(代码+数据集)【独一无二】

&#x1f449;博__主&#x1f448;&#xff1a;米码收割机 &#x1f449;技__能&#x1f448;&#xff1a;C/Python语言 &#x1f449;公众号&#x1f448;&#xff1a;测试开发自动化【获取源码商业合作】 &#x1f449;荣__誉&#x1f448;&#xff1a;阿里云博客专家博主、5…

LeetCode-738-单调递增的数字

题目描述&#xff1a; 当且仅当每个相邻位数上的数字 x 和 y 满足 x < y 时&#xff0c;我们称这个整数是单调递增的。 给定一个整数 n &#xff0c;返回 小于或等于 n 的最大数字&#xff0c;且数字呈 单调递增 。 解题思路&#xff1a; 先将int变成char[]&#xff0c;获取…

【JavaEE】Spring事务-@Transactional参数介绍-事务的隔离级别以及传播机制

【JavaEE】Spring事务&#xff08;2&#xff09; 文章目录 【JavaEE】Spring事务&#xff08;2&#xff09;1. Transactional 参数介绍1.1 value 和 transactionManager1.2 timeout1.3 readOnly1.4 后面四个1.5 isolation 与 propagation 2. Spring 事务隔离级别 - isolation2.…

Git入门

本文主要介绍Git的入门知识。首先讲述版本控制工具的一些背景&#xff0c; 然后介绍如何在你自己的系统上安装.配置和运行Git。学完本文,你将明白Git是怎么来的、为什么需要Git,并掌握使用Git的基础知识。 一、版本控制 什么是“版本控制”&#xff0c;为什么需要它?版本控制是…

5G NR:PRACH时域资源

PRACH occasion时域位置由高层参数RACH-ConfigGeneric->prach-ConfigurationIndex指示&#xff0c;根据小区不同的频域和模式&#xff0c;38.211的第6.3.3节中给出了prach-ConfigurationIndex所对应的表格。 小区频段为FR1&#xff0c;FDD模式(paired频谱)/SUL&#xff0c;…

RHCE——八、DNS域名解析服务器

RHCE 一、概述1、产生原因2、作用3、连接方式4、因特网的域名结构4.1 拓扑4.2 分类4.3 域名服务器类型划分 二、DNS域名解析过程1、分类2、解析图&#xff1a;2.1 图&#xff1a;2.2 过程分析 三、搭建DNS域名解析服务器1、概述2、安装软件3、/bind服务中三个关键文件4、配置文…