专题二_滑动窗口(2)

目录

1658. 将 x 减到 0 的最小操作数

解析

题解

904. 水果成篮

解析

题解


1658. 将 x 减到 0 的最小操作数

1658. 将 x 减到 0 的最小操作数 - 力扣(LeetCode)

解析

题解

class Solution {
public:int minOperations(vector<int>& nums, int x) {// 012_专题二_滑动窗口_将 x 减到 0 的最小操作数_C++// 正难则反// 转化:找出最长的子数组的长度,所有元素的和正好等于 sum - x// 结果只需要用 n - len就可以了int n = nums.size(), len = -1, sum = 0;for (int e : nums)sum += e;int target = sum - x;if (target < 0)return -1;for (int left = 0, right = 0, tmp = 0; right < n; ++right) {tmp += nums[right];  // 进窗口while (tmp > target) // 判断{tmp -= nums[left];left++;}if (tmp == target)len = max(len, right - left + 1);}return len == -1 ? -1 : n - len;}
};

904. 水果成篮

904. 水果成篮 - 力扣(LeetCode)

解析

 

题解

class Solution {
public:int totalFruit(vector<int>& fruits) {// 013_专题二_滑动窗口_水果成篮_C++// 转化为:找出一个最长的子数组的长度,子数组中不超过两种类型的水果// 滑动窗口// 老三样// 1. 进窗口// 2. 出窗口// 2.1 判断// 3. 更新结果// unordered_map<int, int> hash; // 统计出现了多少种水果,用stl可以更方便的解决int hash[100001] = {0};int n = fruits.size(), sum = 0, ret = 0;for (int left = 0, right = 0, kinds = 0; right < n; right++){if (hash[fruits[right]] == 0) kinds++;hash[fruits[right]]++;  // 进窗口while (kinds > 2) // 判断{hash[fruits[left]]--; // 出窗口if (hash[fruits[left]] == 0) // 当为0的时候,就删除该元素kinds--;left++;}ret = max(ret, right - left + 1);}return ret;}
};

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

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

相关文章

题目 2906: 笨小猴

题目描述: 笨小猴的词汇量很小&#xff0c;所以每次做英语选择题的时候都很头疼。但是他找到了一种方法&#xff0c;经试验证明&#xff0c;用这种方法去选择选项的时候选对的几率非常大&#xff01; 这种方法的具体描述如下&#xff1a;假设maxn是单词中出现次数最多的字母的…

MPDataDoc类介绍

MPDataDoc类介绍 使用mp数据库新接口mp_api.client.MPRester获取数据&#xff0c;例子如下&#xff1a; from mp_api.client import MPResterwith MPRester(API_KEY) as mpr:docs mpr.summary.search(material_ids["mp-1176451", "mp-561113"])以上代码返…

Java抽象类详解:定义、特性与实例化限制(day12)

抽象类 总结一下今天老师上课的内容&#xff0c;前面几节课听得是有点懵&#xff0c;在讲到内存问题&#xff0c;也就是代码在栈、堆、以及方法区是怎么执行的&#xff0c;听得不是很懂&#xff0c;今天讲到抽象类以及重写的机制&#xff0c;似乎开始慢慢懂得了java的底层原理…

Linux应用实战之网络服务器(三)CSS介绍

0、前言 准备做一个Linux网络服务器应用实战&#xff0c;通过网页和运行在Linux下的服务器程序通信&#xff0c;这是第三篇&#xff0c;介绍一下CSS&#xff0c;优化上一篇文章中制作的HTML页面。 1、CSS常用语法 CSS&#xff08;层叠样式表&#xff09;是用于描述HTML或XML…

FPGA 图像边缘检测(Canny算子)

1 顶层代码 timescale 1ns / 1ps //边缘检测二阶微分算子&#xff1a;canny算子module image_canny_edge_detect (input clk,input reset, //复位高电平有效input [10:0] img_width,input [ 9:0] img_height,input [ 7:0] low_threshold,input [ 7:0] high_threshold,input va…

【案例·增】一条insert语句批量插入多条记录

问题描述&#xff1a; 往MySQL中的数据库表中批量插入多条记录&#xff0c;可以使用 SQL 中的 ((), ()…)来处理 案例&#xff1a; INSERT INTO items(name,city,price,number,picture) VALUES(耐克运动鞋,广州,500,1000,003.jpg),(耐克运动鞋2,广州2,500,1000,002.jpg);规则…

基于java+springboot+vue实现的宠物领养救助平台(文末源码+Lw+ppt)23-363

摘 要 宠物领养救助平台采用B/S架构&#xff0c;数据库是MySQL。网站的搭建与开发采用了先进的java进行编写&#xff0c;使用了springboot框架。该系统从两个对象&#xff1a;由管理员和用户来对系统进行设计构建。主要功能包括&#xff1a;个人信息修改&#xff0c;对用户、…

Spring Boot 多模块项目跨包自动注入的方法

文章目录 引言I Spring Boot 多模块项目跨包自动注入的方法1.1 问题描述1.2 原因1.3 解决方案1.4 模块结构II Starter项目2.1 多模块项目跨包自动注入2.2 接管生命周期,成为starter2.3 预备知识:自动装配III 驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全…

【Redis】redis主从复制

概述 常见的Redis高可用的方案包括持久化、主从复制&#xff08;及读写分离&#xff09;、哨兵和集群。其中持久化侧重解决的是Redis数据的单机备份问题&#xff08;从内存到硬盘的备份&#xff09;&#xff1b;而主从复制则侧重解决数据的多机热备。此外&#xff0c;主从复制…

提高三维模型数据的立体裁剪技术

提高三维模型数据的立体裁剪技术 立体裁剪是三维模型处理中的重要步骤&#xff0c;可以用于去除模型中不需要的部分&#xff0c;提高模型的质量和准确性。本文将介绍几种常见的立体裁剪技术&#xff0c;包括边界裁剪、体素裁剪和几何裁剪&#xff0c;并分析它们的优缺点和适用场…

新朋友+1!拓数派 PieCloudDB Database 与 OpenCloudOS、TencentOS Server 完成产品兼容互认证

近日&#xff0c;拓数派旗下产品云原生虚拟数仓 PieCloudDB Database 与开源操作系统 OpenCloudOS 以及腾讯云旗下操作系统 TencentOS Server 完成了产品兼容性互认证。测试期间&#xff0c;双方产品运行稳定&#xff0c;兼容性良好&#xff0c;功能正常。 随着“数据要素x”三…

交互式RDP服务启停及修改端口的bat脚本

1、执行效果 2、脚本代码 echo off chcp 65001REM 检查是否有管理员权限 net session >nul 2>&1 if %errorlevel% neq 0 (echo 请右键【以管理员身份运行】此脚本。pauseexit /b )REM 提示是否开启或关闭RDP服务 set /p enable_disable是否开启或关闭RDP远程桌面服务…

生成的短链接/二维码,如何更改跳转网址?C1N 短网址一键解决

在当今的营销推广领域&#xff0c;短链接的运用已不可或缺。它能直接将网页、产品或服务呈现在潜在客户或用户面前&#xff0c;提升知名度与曝光率。 然而&#xff0c;使用短链接时也会遭遇一些问题&#xff0c;最常见的便是推广链接已发出&#xff0c;却发现有误或需修改&…

第15章 冲突解决与问题识别

< 回到目录 第15章 冲突解决与问题识别 冲突解决 人际冲突很常见&#xff0c;无外乎以下两种原因&#xff1a; 没有充分分享自己的感受和想法&#xff1b;感觉自己没有被认真聆听。 有一种简单方法来解决这个问题。Stephen Covey在他的经典著作《高效人士的7个习惯&…

自动化更新包文件--shell脚本

自动化更新包文件--shell脚本 背景手动更包自动化更包 背景 作为一名实施工程师&#xff0c;当然也协助做些测试的工作&#xff0c;当产品功能开发后&#xff0c;研发会将本次迭代涉及的前后端包文件提供过来。有时会因为一些原因研发没法现场开发&#xff0c;那就需要我们配合…

Python学习之-lambda表达式

前言&#xff1a; Python 的 lambda 表达式是一种匿名函数的快捷方式&#xff0c;它允许你在代码中快速定义单行的小函数。lambda 表达式的语法非常简洁&#xff1a;它仅使用 lambda 关键字 followed by one or more arguments, a colon :, and the expression to evaluate an…

CC工具箱使用指南:【经度转3度带和6度带】

一、简介 在规划工作中&#xff0c;经常会遇到不清楚规划用地所在的3度带或6度带带号的情况。 其实只要知道所在地的经度即可计算出带号&#xff0c;具体计算方法百度可知&#xff1a; 三度带和六度带1.高斯投影6度带&#xff1a;自0子午线起每隔经差6自西向东分带&#xff…

基于easyx库的C/C++游戏编程实例-贪吃蛇|

贪吃蛇|双人贪吃蛇游戏设计 1.设计物体结构 蛇结构&#xff1a; struct SnakePlayer {int size;int r;int dir;int speed;POINT pos[SNAKE_SIZE];bool live;int score; }snake;食物结构&#xff1a; struct Food {int x;int y;int r;bool flag;DWORD color; }food,foodtest…

ios问题记录

背景&#xff1a; 本地xocode 上传文件到 testflight&#xff0c;显示是上传成功了的。 但是网页中 testflight 中并没有上传的版本。查看邮件 发现下面的 Please correct the following issues and upload a new binary to App Store Connect. ITMS-90683: Missing purpos…

神策数据参与制定首份 SDK 网络安全国家标准

国家市场监督管理总局、国家标准化管理委员会发布中华人民共和国国家标准公告&#xff08;2023 年第 13 号&#xff09;&#xff0c;全国信息安全标准化技术委员会归口的 3 项国家标准正式发布。其中&#xff0c;首份 SDK 国家标准《信息安全技术 移动互联网应用程序&#xff0…