【力扣 第 360 场周赛】题解(一题待补)

目录

  • 2833. 距离原点最远的点
  • 2834. 找出美丽数组的最小和
  • 2835. 使子序列的和等于目标的最少操作次数
  • TODO 2836. 在传球游戏中最大化函数值

这场比赛排名第 1 - 1000 名的参赛者 可获「NIO 蔚来」简历内推机会,比有的场次前十才给容易多了。
在这里插入图片描述

2833. 距离原点最远的点

距离原点最远的点

在这里插入图片描述
注意是移动n次后,不是移动过程中。
可以分为最靠左的点和最靠右的点,就是把_都换成LR
然后计算左右的差,求绝对值。
O(n)

class Solution {
public:
    int furthestDistanceFromOrigin(string moves) {
        int LCnt = 0;
        int RCnt = 0;
        int allCnt = 0;
        int ans = 0;
        for(int i=0;i<(int)moves.length();i++){
            if(moves[i]=='L'){
                LCnt++;
            }else if(moves[i]=='R'){
                RCnt++;
            }else{
                allCnt++;
            }
        }
        ans = max(ans, max(abs(LCnt+allCnt-RCnt),abs(RCnt+allCnt-LCnt)));
        return ans;
    }
};

2834. 找出美丽数组的最小和

找出美丽数组的最小和

在这里插入图片描述

在这里插入图片描述
每一对和为目标值的两个数只能选一个,显然应该选小的。
所以简单起见从1开始枚举,检查和之前的值和不为目标值,用哈希表记录。
O(n)

class Solution {
public:
    long long minimumPossibleSum(int n, int target) {
        unordered_set<int> st;
        long long ans = 0;
        int now = 1;
        for(int i=1;i<=n;i++){
            while(st.count(target-now)){
                ++now;
            }
            st.insert(now);
            ans+=now;
            ++now;
        }
        return ans;
    }
};

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

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

在这里插入图片描述
在这里插入图片描述
以2为底取对数,记录每种2的幂的个数。
对于target中的每个为1的二进制位,要么用1个对应位nums中的数,要么用多个低位的数加起来,实在不行从高位借位(记录成本)。
最后检查最高位是否存在借不到的情况,输出-1。
O(n)

class Solution {
public:
    int minOperations(vector<int>& nums, int target) {
        unordered_map<int,int> mp;
        for(int i=0;i<=30;i++){
            mp[1<<i] = i;
        }
        int a[50] = {};
        for(const auto&v: nums){
            ++a[mp[v]];
        }
        int b[50] = {};
        int ans = 0;
        for(int i=0;i<=30;i++){
            if(target&(1<<i)){
                b[i] = b[i]+a[i]-1;
            }else{
                b[i] = b[i]+a[i];
            }
                if(b[i]<0){
                    //cout<<"! " <<i<<endl;
                    ans+=(-b[i]+1)/2;
                    b[i+1]-=(-b[i]+1)/2;
                    b[i] = (-b[i])%2;
                }else if(b[i]>0){
                    b[i+1] += b[i]/2;
                    b[i]%=2;
                }
            //if(b[i])cout<<"i "<<i<<" "<<b[i]<<endl;
        }
        if(b[31]<0){
            return -1;
        }
        return ans;
    }
};

TODO 2836. 在传球游戏中最大化函数值

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

想出最优的正解了,但是没写完。
传球过程形成基环内向森林(一个点的自环也算环)。

  1. 对于环上的点,答案是若干个整环求和,加首尾零散的部分,可以用前缀和求区间和。
  2. 对于不在环上的点,维护一个栈,保存到环过程中的权值。维护一个值,保存当前点到环(至多含k个值)的权值和。不足k时,加上环上部分,可能是一段,或若干个整环加首尾零散的部分。

O(n)

class Solution {
public:
    long long getMaxFunctionValue(vector<int>& receiver, long long k) {
        
    }
};

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

计算机/嵌入式入门教材资料

背景 自学计算机&#xff0c;首先我们要找到好的教材、教程&#xff0c;可以事半功倍。 目前&#xff0c;互联网上计算机资源较多&#xff0c;难的不再是寻找资源&#xff0c;而是筛选出质量比较高的资源。 基于笔者经验&#xff0c;推荐以下资源。 书籍 传统的书籍是纸质版…

C语言:三子棋小游戏

简介&#xff1a; 目标很简单&#xff1a;实现一个 三子棋小游戏。三子棋大家都玩过&#xff0c;规则就不提及了。本博文中实现的三子棋在对局中&#xff0c;电脑落子是随机的&#xff0c;不具有智能性&#xff0c;玩家的落子位置使用键盘输入坐标。下面开始详细介绍如何实现一…

基于RabbitMQ的模拟消息队列之二---创建项目及核心类

一、创建项目 创建一个SpringBoot项目&#xff0c;环境&#xff1a;JDK8&#xff0c;添加依赖&#xff1a;Spring Web、MyBatis FrameWork(最主要&#xff09; 二、创建核心类 1.项目分层 2.核心类 在mqserver包中添加一个包&#xff0c;名字为core&#xff0c;表示核心类…

前端Vue自定义得分构成水平柱形图组件 可用于系统专业门类得分评估分析

引入Vue自定义得分构成水平柱形图组件&#xff1a;cc-horBarChart 随着技术的发展&#xff0c;传统的开发方式使得系统的复杂度越来越高&#xff0c;一个小小的改动或小功能的增加可能会导致整体逻辑的修改&#xff0c;造成牵一发而动全身的情况。为了解决这个问题&#xff0c…

设计模式系列-创建者模式

一、上篇回顾 上篇我们主要讲述了抽象工厂模式和工厂模式。并且分析了该模式的应用场景和一些优缺点&#xff0c;并且给出了一些实现的思路和方案,我们现在来回顾一下&#xff1a; 抽象工厂模式&#xff1a;一个工厂负责所有类型对象的创建&#xff0c;支持无缝的新增新的类型对…

centos安装jdk-8u371-linux-x64.tar.gz包

java -version //查看jdk版本 rpm -qa | grep jdk 删除带有"openjdk"字样的jdk 例: rpm -e --nodeps java-1.7.0-openjdk-1.7.0.141-2.6.10.5.el7.x86_64 下载该版本的jdk(jdk-8u371-linux-x64.tar.gz) (https://www.oracle.com/java/technologies/javase/javase8u2…

linux 内存一致性

linux 出现内存一致性的场景 1、编译器优化 &#xff0c;代码上下没有关联的时候&#xff0c;因为编译优化&#xff0c;会有执行执行顺序不一致的问题&#xff08;多核单核都会出现&#xff09; 2、多核cpu乱序执行&#xff0c;cpu的乱序执行导致内存不一致&#xff08;多核出…

MATLAB制图代码【第二版】

MATLAB制图代码【第二版】 文档描述 Code describtion: This code is version 2 used for processing the data from the simulation and experiment. Time : 2023.9.3 Author: PEZHANG 这是在第一版基础上&#xff0c;迭代出的第二版MATLAB制图代码&#xff0c;第二版的特点是…

kvm 虚拟机添加网卡方法

找到kvm虚拟机的配置文件 虚拟机名称.xml kvm虚拟机配置文件默认路径&#xff1a;/etc/libvirt/qemu/ 先停kvm虚拟机 virsh shutdown 虚拟机名称 修改kvm虚拟机配置文件 virsh edit 虚拟机名称 在kvm虚拟机里面配置新增接口如下内容&#xff1a; <interface typebridg…

时序预测 | MATLAB实现CNN-GRU卷积门控循环单元时间序列预测(风电功率预测)

时序预测 | MATLAB实现CNN-GRU卷积门控循环单元时间序列预测&#xff08;风电功率预测&#xff09; 目录 时序预测 | MATLAB实现CNN-GRU卷积门控循环单元时间序列预测&#xff08;风电功率预测&#xff09;预测效果基本介绍程序设计参考资料 预测效果 基本介绍 1.时序预测 | MA…

裸露土方智能识别算法 python

裸露土方智能识别算法通过opencvpython网络模型框架算法&#xff0c;裸露土方智能识别算法能够准确识别现场土堆的裸露情况&#xff0c;并对超过40%部分裸露的土堆进行抓拍预警。此次算法用到的Python是一种由Guido van Rossum开发的通用编程语言&#xff0c;它很快就变得非常流…

Unexpected mutation of “xxxx“ prop

原因 是因为子级修改了父级的数据&#xff0c;所以eslint执行的时候报了这个错 修复方式 1 如果是弹窗等组件&#xff0c;可以根据功能进行修改&#xff0c;比如我这块用的 element ui 的 dialog&#xff0c;便可以改成这样 使用 model-value 代替 修复方式 2 新建子组件…

Java网络编程-Socket实现数据通信

文章目录 前言网络编程三要素IP地址和端口号传输协议Socket 使用Scoket实现网络通信TCPTCP通信-发送方TCP通信-接收方结果 UDPUDP通信-发送方UDP通信-接收方结果 总结 前言 本文主要是为下一篇Websockt做铺垫&#xff0c;大家了解socket的一些实现。 网络编程三要素 网络编程…

将符号分隔的文本文件txt转换为excel的实现

文本文件如下&#xff1a; 现在不好处理&#xff0c;打算将其转换为excel&#xff0c;其中通过冒号分割&#xff1a;line.split(":") main方法如下&#xff1a; public static void main(String[] args) {String textFilePath "D:\\zoom\\期刊\\J_Medline\\J_…

在Windows 10上部署ChatGLM2-6B:掌握信息时代的智能对话

在Windows 10上部署ChatGLM2-6B&#xff1a;掌握信息时代的智能对话 硬件环境ChatGLM2-6B的量化模型最低GPU配置说明准备工作ChatGLM2-6B安装部署ChatGLM2-6B运行模式解决问题总结 随着当代科技的快速发展&#xff0c;我们进入了一个数字化时代&#xff0c;其中信息以前所未有的…

大语言模型之七- Llama-2单GPU微调SFT

&#xff08;T4 16G&#xff09;模型预训练colab脚本在github主页面。详见Finetuning_LLama_2_0_on_Colab_with_1_GPU.ipynb 在上一篇博客提到两种改进预训练模型性能的方法Retrieval-Augmented Generation (RAG) 或者 finetuning。本篇博客过一下模型微调。 微调&#xff1a…

【大数据模型】让chatgpt为开发增速(开发专用提示词)

汝之观览&#xff0c;吾之幸也&#xff01;本文主要聊聊怎样才能更好的使用提示词&#xff0c;给开发提速&#xff0c;大大缩减我们的开发时间&#xff0c;比如在开发中使用生成表结构脚本的提示词&#xff0c;生成代码的提示词等等。 一、准备 本文主要根据Claude进行演示&am…

成集云 | 多维表格自动化管理jira Server项目 | 解决方案

源系统成集云目标系统 方案介绍 基于成集云集成平台&#xff0c;在多维表格中的需求任务信息自动创建、更新同步至 Jira Server 的指定项目中&#xff0c;实现多维表格中一表管理 Jira Server 中的项目进度。 维格表是一种新一代的团队数据协作和项目管理工具&…

hadoop学习:mapreduce入门案例四:partitioner 和 combiner

先简单介绍一下partitioner 和 combiner Partitioner类 用于在Map端对key进行分区 默认使用的是HashPartitioner 获取key的哈希值使用key的哈希值对Reduce任务数求模决定每条记录应该送到哪个Reducer处理自定义Partitioner 继承抽象类Partitioner&#xff0c;重写getPartiti…

C++算法 —— 动态规划(1)斐波那契数列模型

文章目录 1、动规思路简介2、第N个泰波那契数列3、三步问题4、使用最小花费爬楼梯5、解码方法6、动规分析总结 1、动规思路简介 动规的思路有五个步骤&#xff0c;且最好画图来理解细节&#xff0c;不要怕麻烦。当你开始画图&#xff0c;仔细阅读题时&#xff0c;学习中的沉浸…