leetcode209. 长度最小的子数组(滑动窗口)

一:题目

在这里插入图片描述

二:上码

class Solution {
public:/**思路:1.滑动窗口解法1>:确定窗口内是什么2>:确定窗口的起始位置3>:确定窗口的终止位置2.窗口:也就是我们的求的连续字符串的和3.窗口的起始位置: 窗口的起始位置最先是我们数组的起始位置,当窗口内连续数组的和大于target的时候,    起始位置就需要往前移动来缩小我们窗口的大小4.窗口的终止位置: 窗口的终止位置就是我们的数组的下标*/int minSubArrayLen(int target, vector<int>& nums) {int i = 0;//起始位置int length = 0;//窗口的大小int ans = INT_MAX;int sum = 0;for (int j = 0; j < nums.size(); j++) {sum += nums[j];while (sum >= target) {//要开始移动我们窗口的起始位置length = (j-i+1);//这里加一是因为 我们的j是从0开始的ans = ans > length ?length :ans;//开始缩小我们的窗口sum -= nums[i++];}            }        return ans == INT_MAX ? 0 : ans;}
};// class Solution {
// public:
//     /**
//         思路:
//             1.暴力解法
//                 两层for循环,记录下来 >=target 的字符串长度。    
//             2.超时   
//     */
//     int minSubArrayLen(int target, vector<int>& nums) {//             int length = nums.size();
//             int ans = INT_MAX;//             for (int i = 0; i < length; i++) {
//                  vector<int> v;
//                 for (int j = i; j < nums.size(); j++) {
//                     v.push_back(nums[j]);
//                     int sum = accumulate(v.begin(),v.end(),0);
//                     if(sum >= target) {
//                         if (ans > v.size()) {
//                             ans = v.size();
//                         } else {
//                             break;
//                         }
//                     }//                 }
//             }//             if(ans == INT_MAX) return 0;//             return ans;
//     }
// };

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

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

相关文章

开源特训营 - Lesson 4 - 如何运营社区

编辑&#xff1a;李明康责编&#xff1a;袁睿斌作者&#xff1a;课程助教 - 苏斌主讲教师&#xff1a;庄表伟&#xff08;开源社理事长&#xff09;、赵生宇&#xff08;同济大学&#xff09;本次课程的主题为《如何运营社区》&#xff0c;主讲者为开源社的理事长庄表伟老师和来…

leetcode904. 水果成篮(滑动窗口)

一:题目 二:上码 class Solution { public:/**思路:滑动窗口1.滑动窗口为我们 两个品种水果的个数2.滑动窗口的起始位置为数组的起始位置,当遇见一个新的水果种类的时候,这时候就需要移动我们的起始位置这里移动起始位置是要注意的,我们需要移动起始到我们的窗口中 完全没有 这…

拥抱.NET 5,从自研微服务框架开始

“ 2016年发布了.NET Core第一个正式版本&#xff0c;而.NET5也将在下个月就正式来临了&#xff0c;技术日新月异&#xff0c;也有点让人应接不暇。在框架设计上&#xff0c;.NET Framework的全家桶理念&#xff0c;培养了一大批的CRUD&#xff0c;而.NET Core转变成了按需使用…

leetcode周赛第一题6037. 按奇偶性交换后的最大数字(冒泡法)

一:题目 二:上码 class Solution { public:int largestInteger(int num) {string str to_string(num);for (int i 0; i < str.size()-1; i) {for (int j i1; j < str.size(); j) {int num1 str[j]-0;int num2 str[i]-0;if (num1%2 num2%2) {//这里我们控制的是奇数…

从零开始打造专属钉钉机器人

一、前言废话不多的实现简单的钉钉机器人。我们分为下面几个步骤来逐步讲解。1.钉钉机器人的类型2.如何打造一个最最简单的钉钉机器人二、钉钉机器人的类型常用的钉钉机器人有两种&#xff0c;1、通知类型的机器人&#xff1a;适合在群内进行一些通知&#xff0c;推荐消息等内容…

Azure 内容审查器之文本审查

内容审查器Azure 内容审查器也是一项认知服务。它支持对文本、图形、视频进行内容审核。可以过滤出某些不健康的内容&#xff0c;关键词。使你的网站内容符合当地的法律法规&#xff0c;提供更好的用户体验。文本内容审核其中文本内容的审核应用比较广泛。比如在审核游戏中的群…

java并发之CAS

文章目录1:何为CAS2:CAS图示3:CAS和Volatile的关系4:为何CAS效率更高一些5:CAS的特点7:受保护得共享数据类型(1):原子基本数据类型(2):原子引用数据类型7:ABA问题(1):什么是ABA(2):如何解决呢&#xff1f;1:何为CAS CAS(Compare And Swap)&#xff0c;即比较并交换。是解决多线…

快速了解 ASP.NET Core Blazor

最近在几个微信 .NET 交流群里大家讨论比较频繁的话题就是这几天自己的面试经历。面试官&#xff1a;“你刚说你喜欢研究新技术&#xff0c;那你有了解过 Blazor 吗&#xff1f;”作为一位专注于 .NET 开发的软件工程师&#xff0c;你好意思说你对 Blazor 一点也不解吗&#xf…

ASP.NET Core集成Nacos配置中心之适配多格式配置

前言 默认情况下&#xff0c;用nacos-sdk-csharp集成ASP.NET Core的配置系统&#xff0c;是基于JSON格式的数据。随着业务系统的多样化&#xff0c;可能用的配置格式也是各有千秋的。有的会用yaml/yml&#xff0c;有的会用ini&#xff0c;有的会用xml&#xff0c;等等。那么如果…

Git的使用(快速入门)

文章目录[TOC]一:将本地的项目提交到Git上二:GIt的基本操作1:建立一个本地仓库(1):类别(2):创建全新的仓库(3):克隆远程仓库2:查看文件的状态3:在桌面上的文件提交到远程仓库4:在idea中的文件提交到远程仓库5:分支(1):何为分支(2):常用命令(3)注意6:解决合并冲突(1):问题展示(2…

为什么这么忙,还依然做不好事情?

一直都很喜欢《重来》系列&#xff0c;最近出了《重来3&#xff1a;跳出疯狂的忙碌》&#xff0c;第一时间在微信读书中阅读了&#xff0c;让我们印象比较深刻的就是「冷静」和「效率」&#xff0c;本文主要说说效率的问题。书的作者是贾森弗里德&#xff08;Jason Fried&#…

开源特训营 - Lesson 6 - 如何提交一个合格的PR

编辑&#xff1a;李明康责编&#xff1a;袁睿斌作者&#xff1a;课程助教 - 苏斌主讲教师&#xff1a;张齐勋&#xff08;北京大学&#xff09;、赵生宇&#xff08;同济大学&#xff09;本次课程的主题为《如何提交一个合格的PR》&#xff0c;主讲者为来自北京大学的张齐勋老师…

改进程架构,Edge优化浏览器内存问题

微软 Edge 团队称&#xff0c;“今天的浏览器更像是操作系统&#xff0c;而不是文档查看器。用户正在浏览器中执行越来越多的任务&#xff0c;而在桌面应用程序中执行的任务越来越少。与此同时&#xff0c;每个网页、Web 应用程序和扩展程序都在使用内存&#xff0c;这也会使用…

中芯国际第二代FinFET工艺有望与2020年底试产

媒体报道&#xff0c;第一代FinFET 14纳米已于2019年四季度量产&#xff1b;第二代FinFET N1已进入客户导入阶段&#xff0c;可望于2020年底小批量试产。梁孟松披露&#xff0c;中芯国际的下一代N1工艺和14nm相比&#xff0c;性能提升了20%&#xff0c;功耗降低了57%&#xff0…

gRPC-微服务间通信实践

微服务间通信常见的两种方式由于微服务架构慢慢被更多人使用后&#xff0c;迎面而来的问题是如何做好微服务间通信的方案。我们先分析下目前最常用的两种服务间通信方案。gRPC&#xff08;rpc远程调用&#xff09;场景&#xff1a;A服务主动发起请求到B服务&#xff0c;同步方式…

移动 Azure 资源后如何快速修复 Dashboard

点击上方蓝字关注“汪宇杰博客”导语Azure 用户经常因为不够有钱&#xff0c;需要把资源移动到另一个资源组或订阅中。移动完成后&#xff0c;会导致资源对应的 Dashboard 失效。通常&#xff0c;我们都需要从 Dashboard 上将找不到的资源删除&#xff0c;并逐个重建。有没有快…

八大排序算法之插入排序

一:直接插入排序 1:思想 首先选择一个哨兵,我们默认将第一个数作为哨兵,随着循环的进行,我们一直将我们待插入数的前一个数作为哨兵然后就是插入的数与哨兵比较&#xff0c;比哨兵小的话&#xff0c;就将哨兵后移&#xff0c;然后再与哨兵前面的数进行比较&#xff0c;直到遇…

跟我一起学Redis之五种基本类型及其应用场景举例(干了6个小时)

前言来啦&#xff0c;老弟&#xff1f;来啦&#xff0c;上一篇就当唠唠嗑&#xff0c;接下来就开始进行实操撸命令&#xff0c;计划是先整体单纯说说Redis的各种用法和应用&#xff0c;最后再结合代码归纳总结。Redis默认有16个数据库(编号为0~15)&#xff0c;默认使用第0个&am…

leetcode周赛6070. 计算字符串的数字和

一:题目 二:上码 class Solution { public:/**思路:1.设置一个while循环&#xff0c;循环的条件是s.length<k2.while里面进行 1>:将字符串按k个进行拆分成个单个字符&#xff0c;并将其转换成数字,然后计算将计算结果再组成字符串 */string digitSum(string s, int k) {…

ASP.NET Core 中的 User Agent 识别及搜索引擎爬虫鉴定方法

User Agent中文名为用户代理&#xff0c;简称 UA&#xff0c;它是一个特殊字符串头&#xff0c;使得服务器能够识别客户使用的操作系统及版本、CPU 类型、浏览器及版本、浏览器渲染引擎、浏览器语言、浏览器插件等。百度百科在 ASP.NET Core 中&#xff0c;可以通过以下代码在 …