当前位置: 首页 > news >正文

数组-长度最小的子数组

M长度最小的子数组(leetcode209)

image.png

/*** @param {number} target* @param {number[]} nums* @return {number}*/
var minSubArrayLen = function(target, nums) {const n = nums.length;let ans = n + 1;let sum = 0;    //  子数组元素和let left = 0;   //  子数组左端点for (let right = 0; right < n; right++) {   //  枚举子数组右端点sum += nums[right];while (sum - nums[left] >= target) {    // 尽量缩小子数组长度sum -= nums[left++]; // 左端点右移}if (sum >= target) {ans = Math.min(ans, right - left + 1);}}return ans <= n ? ans : 0;
};

水果成篮(leetcode094)

image.png

/*** @param {number[]} fruits* @return {number}*/
var totalFruit = function(fruits) {const n = fruits.length;const cnt = new Map();let left = 0, ans = 0;for (let right = 0; right < n; ++right) {cnt.set(fruits[right],(cnt.get(fruits[right]) || 0) + 1);while (cnt.size > 2) {cnt.set(fruits[left], cnt.get(fruits[left]) - 1);if (cnt.get(fruits[left]) == 0) {cnt.delete(fruits[left]);}++left;}ans = Math.max(ans , right - left + 1);}return ans;
};

H最小覆盖子串(leetcode76)

image.png

/*** @param {string} s* @param {string} t* @return {string}*/
var minWindow = function(s, t) {let minLen = s.length + 1;let start = s.length;let map = {};let missingType = 0;for (const c of t) {if (!map[c]) {missingType++;map[c] = 1;} else {map[c]++;}}let l = 0, r = 0;for (; r < s.length; r++) {let rightChar = s[r];if (map[rightChar] !== undefined) map[rightChar]--;if (map[rightChar] == 0) missingType--;while (missingType == 0) {if (r - l + 1 < minLen) {minLen = r - l + 1;start = l;}let leftChar = s[l];if (map[leftChar] !== undefined) map[leftChar]++;if (map[leftChar] > 0) missingType++;l++;}}if (start == s.length) return "";return s.substring(start, start + minLen);
};
http://www.lryc.cn/news/389653.html

相关文章:

  • 深度学习之交叉验证
  • 使用 Python 五年后,我发现学 python 必看这三本书!少走一半弯路
  • React@16.x(45)路由v5.x(10)源码(2)- history
  • grpc学习golang版( 八、双向流示例 )
  • SpringBoot学习05-[SpringBoot的嵌入式Servlet容器]
  • 查看Oracle是哪个Oracle_home 下启动的
  • 重温react-06(初识函数组件和快速生成格式的插件使用方式)
  • 【高考志愿】仪器科学与技术
  • Elasticsearch的Mapping
  • 【vocabulary in use (elementary)】6 Health and Illness
  • 探囊取物之多形式注册页面(基于BootStrap4)
  • 【C++进阶学习】第五弹——二叉搜索树——二叉树进阶及set和map的铺垫
  • 【RabbitMQ实战】Springboot 整合RabbitMQ组件,多种编码示例,带你实践 看完这一篇就够了
  • 【你也能从零基础学会网站开发】理解DBMS数据库管理系统架构,从用户到数据到底经历了什么
  • Vue.js 中的API接口封装实战与详解
  • 职场内卷、不稳定、没前景……怎么破?
  • LeetCode 算法:将有序数组转换为二叉搜索树 c++
  • 智慧公厕系统改变了人们对服务区公厕的看法
  • 终极指南:RNNS、Transformers 和 Diffusion 模型
  • WPF UI 3D 基本概念 点线三角面 相机对象 材质对象与贴图 3D地球 光源 变形处理 动作交互 辅助交互插件 系列三
  • 分子AI预测赛Task2笔记
  • 剖析DeFi交易产品之UniswapV4:创建池子
  • 速盾:cdn内容分发服务有哪些优势?
  • 如何利用React和Python构建强大的网络爬虫应用
  • 炎黄数智人:招商局集团推出AI数字员工“招小影”
  • 【开发篇】明明配置跨域声明,为什么却仍可以发送HTTP请求
  • 单片机中有FLASH为啥还需要EEROM?
  • Qt的源码目录集合(V5.12.12版本)
  • 记因hive配置文件参数运用不当导致 sqoop MySQL导入数据到hive 失败的案例
  • 自动化邮件通知:批处理脚本的通讯增强