LeetCode day28

LeetCode day28

由于一点小意外,今天就来搞搞滑动窗口(ง •_•)ง


1423. 可获得的最大点数

几张卡牌 排成一行,每张卡牌都有一个对应的点数。点数由整数数组 cardPoints 给出。

每次行动,你可以从行的开头或者末尾拿一张卡牌,最终你必须正好拿 k 张卡牌。

你的点数就是你拿到手中的所有卡牌的点数之和。

给你一个整数数组 cardPoints 和整数 k,请你返回可以获得的最大点数。

示例 1:

输入:cardPoints = [1,2,3,4,5,6,1], k = 3
输出:12
解释:第一次行动,不管拿哪张牌,你的点数总是 1 。但是,先拿最右边的卡牌将会最大化你的可获得点数。最优策略是拿右边的三张牌,最终点数为 1 + 6 + 5 = 12 。

示例 2:

输入:cardPoints = [2,2,2], k = 2
输出:4
解释:无论你拿起哪两张卡牌,可获得的点数总是 4 。

示例 3:

输入:cardPoints = [9,7,7,9,7,7,9], k = 7
输出:55
解释:你必须拿起所有卡牌,可以获得的点数为所有卡牌的点数之和。

示例 4:

输入:cardPoints = [1,1000,1], k = 1
输出:1
解释:你无法拿到中间那张卡牌,所以可以获得的最大点数为 1 。 

示例 5:

输入:cardPoints = [1,79,80,1,1,1,200,1], k = 3
输出:202
class Solution {public int maxScore(int[] cardPoints, int k) {int len=cardPoints.length;int sum=0;int max=0;for(int i=0;i<k;i++){sum+=cardPoints[i];}max=sum;for(int i=0;i<k;i++){sum=sum-cardPoints[k-i-1]+cardPoints[len-i-1];max=max>sum?max:sum;}return max;}
}

嘛,被坑了,本来是看有个dai佬发了一堆题号,结果发现不是力扣的,但是都已经搜了,又不是困难题,那自然是得啃。


2379. 得到 K 个黑块的最少涂色次数

给你一个长度为 n 下标从 0 开始的字符串 blocksblocks[i] 要么是 'W' 要么是 'B' ,表示第 i 块的颜色。字符 'W''B' 分别表示白色和黑色。

给你一个整数 k ,表示想要 连续 黑色块的数目。

每一次操作中,你可以选择一个白色块将它 涂成 黑色块。

请你返回至少出现 一次 连续 k 个黑色块的 最少 操作次数。

示例 1:

输入:blocks = "WBBWWBBWBW", k = 7
输出:3
解释:
一种得到 7 个连续黑色块的方法是把第 0 ,3 和 4 个块涂成黑色。
得到 blocks = "BBBBBBBWBW" 。
可以证明无法用少于 3 次操作得到 7 个连续的黑块。
所以我们返回 3 。

示例 2:

输入:blocks = "WBWBBBW", k = 2
输出:0
解释:
不需要任何操作,因为已经有 2 个连续的黑块。
所以我们返回 0 。
class Solution {public int minimumRecolors(String blocks, int k) {if(blocks.length()==1){return blocks.charAt(0)=='B'?0:1;}int ans=0;int max=0;int len=blocks.length();for(int i=0;i<k;i++){if(blocks.charAt(i)=='B'){ans++;}}max=ans;for(int i=1;i<=len-k;i++){if(blocks.charAt(i-1)=='B')ans--;if(blocks.charAt(i-1+k)=='B')ans++;max=Math.max(max,ans);}return k-max;}
}

1984. 学生分数的最小差值

给你一个 下标从 0 开始 的整数数组 nums ,其中 nums[i] 表示第 i 名学生的分数。另给你一个整数 k

从数组中选出任意 k 名学生的分数,使这 k 个分数间 最高分最低分差值 达到 最小化

返回可能的 最小差值

示例 1:

输入:nums = [90], k = 1
输出:0
解释:选出 1 名学生的分数,仅有 1 种方法:
- [90] 最高分和最低分之间的差值是 90 - 90 = 0
可能的最小差值是 0

示例 2:

输入:nums = [9,4,1,7], k = 2
输出:2
解释:选出 2 名学生的分数,有 6 种方法:
- [9,4,1,7] 最高分和最低分之间的差值是 9 - 4 = 5
- [9,4,1,7] 最高分和最低分之间的差值是 9 - 1 = 8
- [9,4,1,7] 最高分和最低分之间的差值是 9 - 7 = 2
- [9,4,1,7] 最高分和最低分之间的差值是 4 - 1 = 3
- [9,4,1,7] 最高分和最低分之间的差值是 7 - 4 = 3
- [9,4,1,7] 最高分和最低分之间的差值是 7 - 1 = 6
可能的最小差值是 2

class Solution {public int minimumDifference(int[] nums, int k) {if(nums.length==1){return 0;}Arrays.sort(nums);int min=Integer.MAX_VALUE;for(int l=0,r=k-1;r<nums.length;){min=Math.min(min,(nums[r++]-nums[l++]));}return min;}}

润–

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

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

相关文章

五、从0开始卷出一个新项目瑞萨RZN2L之RZT2L BaseProject coremark的移植

感谢来自b站热心帅气的同学分享的RZT2L移植经验总结的md文档 1 需要注意的小点 1.1 使用Flash运行调试前&#xff0c;新板子需要erase 1.2 在线debug&#xff0c;需要修改startup.c 2 coremark工程建立 2.1 工程创建 2.2 src 用户c代码移植 2.3 debug调试 …

HAL TIM2的PWM

main函数跑下面代码就行 懂的就懂&#xff0c;不讲原理&#xff0c;自己看 MX_TIM2_Init(7,999);__HAL_TIM_SET_COMPARE(&htim2,TIM_CHANNEL_1,500);__HAL_TIM_SET_COMPARE(&htim2,TIM_CHANNEL_2,500);__HAL_TIM_SET_COMPARE(&htim2,TIM_CHANNEL_3,500);__HAL_TIM_…

<sa8650>sa8650 qcxser-之-串行解串器ADC使用

<sa8650>sa8650 qcxser-之-串行解串器GPIO输入输出 <sa8650>sa8650 qcxser-之-串行解串器GPIO的map <sa8650>sa8650 qcxser-之-串行解串器ERRB的map <sa8650>sa8650 qcxser-之-串行解串器ADC使用 <sa8650>sa8650 qcxser-之-串行解串器ADC使用 一 前言二 ADC配置三 验…

SpringBoot数据校验

后端在进行数据请求时&#xff0c;通常会校验前端传递过来的参数是否是空值或者是null。通常会通过if判断值是否满足条件&#xff0c;不满足就返回。但如果前端传递的是表单&#xff0c;那么要进行判断的条件就比较多了&#xff0c;太多的if会让代码变得臃肿&#xff0c;而且也…

DshanMCU-R128s2芯片手册与资料

CPU手册 Arm Cortex-M33 核心手册&#xff1a; Arm Cortex-M33 Processor Technical Reference ManualXuanTie C906 核心手册&#xff1a;T-Head XuanTie C906 Processor Datasheet DSP 相关 HIFI 5 DSP 相关&#xff1a;HiFi 5 DSPXtensa Xplorer 下载地址&#xff1a;Xplo…

【python】进阶--->网络编程(一)

一、网络编程 网络 : 为了联络多方然后进行通信,将数据从一方传递给另一方. 网络协议 : 不同计算机只需要通过联网,那么就可以相互进行传递数据,那么不同种类的计算机之间就和不同语言的人之间沟通一样,需要一种大家都认可都遵循的协议即可. 那么计算机都遵循的网络通信协议叫…

apache poi_5.2.5 实现对表格单元格的自定义变量名进行图片替换

apache poi_5.2.5 实现对表格单元格的自定义变量名进行图片替换 实现思路 1.首先定位到自定义变量名 2.然后先清除自定义变量名&#xff0c;可利用setText(null,0)来清除 3.在自定义变量名的位置添加图片&#xff0c;使用下面的代码 4.对于图片布局有要求的&#xff0c;利用C…

synchronized修饰方法和代码块底层实现有什么区别

首发2023-12-21 18:01yuan人生 synchronized修饰方法和代码块底层实现有什么区别-今日头条 (toutiao.com) 面试的时候经常有人问synchronized修饰方法和代码块底层实现有什么区别了&#xff0c;你来说下。实际做java开发很少有人关注这些东西&#xff0c;也基本没用。但面试…

Rocky Linux 9.3 安装 MinIO 最新版本 (超级详细版本)

安装步骤 MinIO官网文件目录 运行以下 curl 命令将 MinIO 的二进制文件下载到“ /usr/local/bin/minio ” curl -o /usr/local/bin/minio https://dl.min.io/server/minio/release/linux-amd64/minio 现在通过下面的 chmod 命令使 MinIO 二进制文件可执行 sudo chmod x /us…

Codeforces Round 916 (Div. 3)(A~E2)

A 统计一下每个字母的出现次数然后输出即可 #include <bits/stdc.h> #define rep(i,a,b) for(register int i (a); i < (b); i) #define fep(i,a,b) for(register int i (a); i > (b); --i) #define ls p<<1 #define rs p<<1|1 #define PII pair&l…

【深度学习】序列生成模型(四):评价方法

文章目录 一、困惑度&#xff08;Perplexity&#xff09;1. 定义2. 计算3. 衡量两个分布之间的差异4. 意义 二、BLEU&#xff08;Bilingual Evaluation Understudy&#xff09;1. 定义2. 意义3. 实例 三、ROUGE&#xff08;Recall-Oriented Understudy for Gisting Evaluation&…

linux 内核经典RCU

如果不关心使用的RCU是不可抢占RCU还是可抢占RCU&#xff0c;应该使用经典RCU的编程接口。最初的经典RCU是不可抢占RCU&#xff0c;后来实现了可抢占RCU&#xff0c;经典RCU的意思发生了变化&#xff1a;如果内核编译了可抢占RCU&#xff0c;那么经典RCU的编程接口被实现为可抢…

分布式全局ID之雪花算法

系列文章目录 提示&#xff1a;这里可以添加系列文章的所有文章的目录&#xff0c;目录需要自己手动添加 雪花算法 提示&#xff1a;写完文章后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 系列文章目录前言一、什么是雪花算法&#xff1f…

Kafka--Kafka日志索引详解以及生产常见问题分析与总结

一、Kafka的Log日志梳理 ​ 这一部分数据主要包含当前Broker节点的消息数据(在Kafka中称为Log日志)。这是一部分无状态的数据&#xff0c;也就是说每个Kafka的Broker节点都是以相同的逻辑运行。这种无状态的服务设计让Kafka集群能够比较容易的进行水平扩展。比如你需要用一个新…

嵌入式开发工程师

嵌入式开发 岗位需求 上岗必备 文章目录 嵌入式开发前言一、负责新产品的电路图、PCB、嵌入式程序、软硬件调试等工作二、负责对现有产品进行硬件优化、调试、维护、排故等工作三、 负责各种单片机,传感器,元器件选型以及BOM表整理四、 负责硬件产品研发和量产过程中项目设计…

网络技术基础与计算思维实验教程_3.1_单BSS实验(基本服务集合实验)

无线局域网的最小基本组件是基本服务BSS 实验内容 实验目的 实验原理 实验步骤 为了显示AP的有效通信范围 切换到物理工作区 把物理工作区导航到城市家园 直接在城市家园放置AP0 可以看到AP0的通信范围 放置笔记本电脑 在默认情况下 笔记本电脑上 安装了以太网卡 现在换成无…

大模型之二十一-小语言模型塞道开启

当前提到大语言模型&#xff0c;大家想到的都是动辄百亿规模以上参数量的模型&#xff0c;13B、70B都是稀疏平常入门级的&#xff0c;但是目前从模型层面来看&#xff0c;模型参数量的规模两极分化已经来临&#xff0c;早期各大公司为了效果怼上去&#xff0c;采取了简单粗暴的…

[Angular] 笔记 4:ngFor

ngFor 是一个 for 循环&#xff0c;只能用于循环遍历 list&#xff0c;不能用于遍历单个实体。 下图中的 pokemons 通常是数据库中的数据&#xff1a; 例子&#xff1a; app.components.ts: // 使用类型检查 interface Pokemon {id: number;name: string;type: string;// is…

c++学习:static在类中的空间分配+实战+单例设计模式

目录 情况一&#xff1a; 证实方法&#xff1a; 结果&#xff1a; 情况二&#xff1a; 证实方法&#xff1a; 结果&#xff1a; 实战1&#xff1a;在同一个类中不同对象中传递消息 方法一&#xff1a; 方法二&#xff1a; 实战2&#xff1a;该类只用创建一次&#xff0…

【postgresql】PSQLException: An I/O error occurred while sending to the backend.

org.postgresql.util.PSQLException: An I/O error occurred while sending to the backend. 发送到后端时发生I/O错误。 java.io.IOException: Tried to send an out-of-range integer as a 2-byte value: 34284 尝试将超出范围的整数作为2字节值发送&#xff1a;34284 pos…