leetcode2024. 考试的最大困扰度(java)

news2024/11/25 2:30:31

考试的最大困扰度

  • leetcode2024. 考试的最大困扰度
    • 题目描述
    • 滑动窗口最大值
  • 经典算法

leetcode2024. 考试的最大困扰度

难度 - 中等
原题链接 - 考试的最大困扰度

题目描述

一位老师正在出一场由 n 道判断题构成的考试,每道题的答案为 true (用 ‘T’ 表示)或者 false (用 ‘F’ 表示)。老师想增加学生对自己做出答案的不确定性,方法是 最大化 有 连续相同 结果的题数。(也就是连续出现 true 或者连续出现 false)。
给你一个字符串 answerKey ,其中 answerKey[i] 是第 i 个问题的正确结果。除此以外,还给你一个整数 k ,表示你能进行以下操作的最多次数:
每次操作中,将问题的正确答案改为 ‘T’ 或者 ‘F’ (也就是将 answerKey[i] 改为 ‘T’ 或者 ‘F’ )。
请你返回在不超过 k 次操作的情况下,最大 连续 ‘T’ 或者 ‘F’ 的数目。

示例 1:
输入:answerKey = “TTFF”, k = 2
输出:4
解释:我们可以将两个 ‘F’ 都变为 ‘T’ ,得到 answerKey = “TTTT” 。
总共有四个连续的 ‘T’ 。

示例 2:
输入:answerKey = “TFFT”, k = 1
输出:3
解释:我们可以将最前面的 ‘T’ 换成 ‘F’ ,得到 answerKey = “FFFT” 。
或者,我们可以将第二个 ‘T’ 换成 ‘F’ ,得到 answerKey = “TFFF” 。
两种情况下,都有三个连续的 ‘F’ 。

示例 3:
输入:answerKey = “TTFTTFTT”, k = 1
输出:5
解释:我们可以将第一个 ‘F’ 换成 ‘T’ ,得到 answerKey = “TTTTTFTT” 。
或者我们可以将第二个 ‘F’ 换成 ‘T’ ,得到 answerKey = “TTFTTTTT” 。
两种情况下,都有五个连续的 ‘T’ 。

提示:
n == answerKey.length
1 <= n <= 5 * 1e4
answerKey[i] 要么是 ‘T’ ,要么是 ‘F’
1 <= k <= n
在这里插入图片描述

滑动窗口最大值

题目求修改次数不超过k 的前提下,连续段 ‘T’ 或 ‘F’ 的最大长度。
等价于求一个包含 ‘F’ 或者 ‘T’ 的个数不超过k 的最大长度窗口。
假定存在一个 int maxLen(char c) 函数,返回包含字符 c 数量不超过 k的最大窗口长度,那么最终 max(maxLen(‘T’), maxLen(‘F’)) 即是答案。

在maxLen 函数中,我们用left 和right 代表左右区间,sum 为左右区间【left,right】中字符c 的数量,数量不超过k 时,右指针,一直向右滑动,大于k时,左指针开始向右滑动,每次求出最大值,最终就是要的答案。

代码:

  /**
     * 最大困扰度
     * @param answerKey
     * @param k
     * @return
     */
    public int maxConsecutiveAnswers(String answerKey,int k){
        return Math.max(maxLen(answerKey,k,'T'),maxLen(answerKey,k,'F'));
    }

    /**
     * 窗口最大值求最长序列
     * @return
     */
    public int maxLen(String answerKey,int k,char ch){
        int ans = 0;
        char[] chars = answerKey.toCharArray();
        for (int left = 0,right = 0,sum = 0; right < chars.length;right++){
            sum += chars[right] != ch ? 1 : 0;
            if (sum > k){
                sum -= chars[left++] != ch ? 1 : 0;
            }
            ans = Math.max(ans,right - left + 1);
        }
        return ans;
    }

经典算法

leetcode - 75. 颜色分类

leetcode 475. 供暖器

leetcode 881. 救生艇

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

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

相关文章

程序设计 堆

✅作者简介&#xff1a;人工智能专业本科在读&#xff0c;喜欢计算机与编程&#xff0c;写博客记录自己的学习历程。 &#x1f34e;个人主页&#xff1a;小嗷犬的个人主页 &#x1f34a;个人网站&#xff1a;小嗷犬的技术小站 &#x1f96d;个人信条&#xff1a;为天地立心&…

代码随想录算法训练营第三十四天 | 1005.K次取反后最大化的数组和,134. 加油站 ,135. 分发糖果

代码随想录算法训练营第三十四天 | 1005.K次取反后最大化的数组和&#xff0c;134. 加油站 &#xff0c;135. 分发糖果 1005.K次取反后最大化的数组和:eyes:题目总结:eyes: 134. 加油站暴力方法贪心算法&#xff08;方法一&#xff09;贪心算法&#xff08;方法二&#xff09;:…

Stable Diffusion+Temporal-kit 半虚半实应用

1.先下载temporal-kit,重启webui 2.下载好ffmpeg,配置好环境,下载Ebsynth 3.准备好你需要的视频,拖到预处理视频位置 4.填写参数,点解保存设置,然后并点击生成,会生成到目标文件夹的input位置 5.然后拉出input文件夹里面你想切换成处理的帧图片,然后填写prompt查看效…

分布式 - 服务器Nginx:一小时入门系列之HTTP反向代理

文章目录 1. 正向代理和反向代理2. 配置代理服务3. proxy_pass 命令解析4. 设置代理请求headers 1. 正向代理和反向代理 正向代理是客户端通过代理服务器访问互联网资源的方式。在这种情况下&#xff0c;客户端向代理服务器发送请求&#xff0c;代理服务器再向互联网上的服务器…

将会计转移到 cloud:远程访问软件的作用

在不断变化的金融和技术格局中&#xff0c;会计行业经历了重大演变。账簿和人工计算在金融界占据主导地位的日子已经一去不复返了。如今&#xff0c;随着企业寻求更高效、更准确、更具协作性的财务管理方式&#xff0c;数字化转变比以往任何时候都更加明显。我们正处于会计复兴…

C# Linq源码分析之Take (一)

概要 在.Net 6 中引入的Take的另一个重载方法&#xff0c;一个基于Range的重载方法。因为该方法中涉及了很多新的概念&#xff0c;所以在分析源码之前&#xff0c;先将这些概念搞清楚。 Take方法基本介绍 public static System.Collections.Generic.IEnumerable Take (this …

jeecgboot table 单元格横向和纵向合并

customRender: (value, row, index) > {const obj {children: &#xffe5;200200火力值,attrs: {}}if (index 0) {// obj.attrs.rowSpan this.dataSource.length // 合并数量 纵向合并obj.attrs.colSpan 3 // 横向合并}if (index > 1) {// obj.attrs.rowSpan 0 // …

2023上半年京东手机行业品牌销售排行榜(京东数据平台)

后疫情时代&#xff0c;不少行业都迎来消费复苏&#xff0c;我国智能手机市场在今年上半年也实现温和的复苏&#xff0c;手机市场的出货量回暖。 根据鲸参谋平台的数据显示&#xff0c;2023年上半年&#xff0c;京东平台上手机的销量为2830万&#xff0c;环比增长约4%&#xf…

注解@ConfigurationProperties获取配置文件内容 (demo)

1. 自定义配置文件内容 2. ConfigurationProperties import lombok.Data; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.stereotype.Component;Data Component ConfigurationProperties(prefix"wx-pay.v3&qu…

从密码重置打到Getshell和其它漏洞打包

前言&#xff1a; 前几天是准备上点edusrc的分的所以就准备用手上还没刷的Nday继续上分&#xff0c;然后就有了今天这个案例&#xff1a; 信息收集&#xff1a; 之前在挖某体育学院证书的时候就挖到过一个通过修改html文件更改密码修改步骤的漏洞 所以就准备测绘一下这个资产…

dataset中图像处理提速小技巧

图像增广中&#xff0c;边缘填充颜色写元组还是写单一数值 一&#xff0c;写元组&#xff1a; self.border_fill_value 114, 114, 114 # 定义为元组# 仿射变换的时候的写法&#xff1a;merge_mosaic_image cv2.warpAffine(merge_mosaic_image, M, (self.image_size, self.…

【uniapp】微信小程序,取视频第一帧,前提是 图片是在 阿里云的oss上

上传视频等&#xff0c;默认为黑色&#xff0c;无法用视频的第一帧作为封面&#xff0c;以及视频的video为原生组件&#xff0c;层级很高无法覆盖问题&#xff0c;虽然有cover-view&#xff0c;但很多场景还是不灵活 实现的前提条件是 图片是在 阿里云的oss上 自己服务器是…

SpringCloud中 Sentinel 限流的使用

引入依赖 <dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-sentinel</artifactId> </dependency>手动编写限流规则&#xff0c;缺点是不够灵活&#xff0c;如果需要改变限流规则需要修改源码…

【GitOps系列】如何解决 GitOps 的秘钥存储问题?

文章目录 简介GitOps 密钥管理方案安装 Sealed-Secrets安装 CLI 工具安装 Controller 控制器 示例应用介绍创建 ArgoCD 应用创建加密后的 Secret 对象创建 Image Pull Secret 对象创建 Secret 对象推送到代码仓库验证 Secret 原理解析核心关注点 简介 在实际的业务场景下&…

1.SpringMVC接收请求参数及数据回显:前端url地址栏传递参数通过转发显示在网页

1、SpringMVC 处理前端提交的数据 1.1 提交的域名和处理方法的参数不一致&#xff0c;使用注解解决 1.2 提交的域名和处理方法的参数不一致&#xff0c;使用注解解决 1.3 提交的是一个对象 2、前端url地址栏传递的是一个参数 请求地址url&#xff1a;http://localhost:8080/s…

openGauss学习笔记-39 openGauss 高级数据管理-分区表

文章目录 openGauss学习笔记-39 openGauss 高级数据管理-分区表39.1 范围分区表的分类39.2 创建范围分区39.2.1 创建VALUES LESS THAN范围分区表语法格式39.2.2 创建VALUES LESS THAN范围分区表参数说明39.2.3 创建VALUES LESS THAN范围分区表示例 39.3 询分区表39.3.1 查询分区…

el-table自适应缩放大小

安装依赖 npm install --save vue-draggable-resizable //或 cnpm install --save vue-draggable-resizablemain.js引入依赖 import VueDraggableResizable from vue-draggable-resizable import "vue-draggable-resizable/dist/VueDraggableResizable.css"; Vue.c…

Haproxy+Keepalived高可用部署

环境准备&#xff1a; IPVIPmasterhaproxy192.168.134.170192.168.134.100backuphaproxy192.168.134.172192.168.134.100web1192.168.134.171web2192.168.134.173web3192.168.134.174 1、首先配置啊三台web服务器&#xff0c;并写好测试页面。 web1&#xff08;配置jsp页面&…

Wlan——CAPWAP协议的报文格式与报文封装

目录 CAPWAP报文携带信息 Discovery报文&#xff08;AP先发&#xff09; Join报文&#xff08;AP先发&#xff09; Configuration Status报文&#xff08;AP先发&#xff09; Change State报文&#xff08;AP先发&#xff09; Echo报文&#xff08;AP和AC都可以先发&…

2023 CCF BDCI 数字安全公开赛正式开启报名

2023 CCF BDCI 数字安全公开赛重磅来袭&#xff01; 全新的赛道场景 丰厚的赛事奖励 精彩的周边活动 数字安全守护人的狂欢盛宴 快来报名参加吧 大赛背景 伴随着数智化的持续加深&#xff0c;网络安全、数据安全风险遍布于所有场景之中&#xff0c;包括工业生产、能源、交…