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

数组学习2

用滑动窗口双指针方法,从右指针开始求总target,如果大于等于target,则左指针递增,左指针值递减,慢慢缩小窗口值。注意一开始滑动窗口要设置的大。

class Solution {public int minSubArrayLen(int target, int[] nums) {int left = 0;int sum = 0;int ans = Integer.MAX_VALUE;  // 修正语法错误for(int right = 0; right < nums.length; right++){sum += nums[right];// 使用while循环持续收缩窗口while(sum >= target) {ans = Math.min(ans, right - left + 1);  // 在循环内部访问rightsum -= nums[left];left++;  // 移动左指针}}return ans == Integer.MAX_VALUE ? 0 : ans;}
}

第二题

双指针从两端向中心扫描,右指针的大就放入数组,右指针左移,左指针相反。

class Solution {public int[] sortedSquares(int[] nums) {int n = nums.length;int[] ans = new int[n];  int i = 0;              int j = n - 1;        for (int p = n - 1; p >= 0; p--) {int x = nums[i] * nums[i]; int y = nums[j] * nums[j];  if (x > y) {ans[p] = x;  i++;        } else {ans[p] = y;  j--;         }}return ans;}
}

给个例子

以 nums = [-4, -2, 0, 3, 5] 为例:

步骤 | i   | j   | 比较   | 取用值 | 结果数组(后→前)
—————————————————————————————————————————————————
1   | -4↘ | 5↗  | 16<25 | 25    | [?, ?, ?, ?, 25]
2   | -4↘ | 3↗  | 16>9  | 16    | [?, ?, ?, 16, 25]
3   | -2↘ | 3↗  | 4<9   | 9     | [?, ?, 9, 16, 25]
4   | -2↘ | 0↗  | 4>0   | 4     | [?, 4, 9, 16, 25]
5   | 0   | 0   | 0=0   | 0     | [0, 4, 9, 16, 25]

http://www.lryc.cn/news/625040.html

相关文章:

  • Java面试题储备14: 使用aop实现全局日志打印
  • 【HTML】document api
  • Vue 3中watch的返回值:解锁监听的隐藏技巧
  • C++---有符号和无符号整数的位移操作
  • RabbitMQ:数据隔离
  • kafka 冲突解决 kafka安装
  • Unity进阶--C#补充知识点--【Unity跨平台的原理】Mono与IL2CPP
  • 探索性测试:灵活找Bug的“人肉探测仪”
  • MongoDB Windows 系统实战手册:从配置到数据处理入门
  • keil错误:Error: failed to execute ‘D:\Keil\C51\BIN\BIN\A51.EXE‘
  • 【智慧工地源码】智慧工地云平台系统,涵盖安全、质量、环境、人员和设备五大管理模块,实现实时监控、智能预警和数据分析。
  • PYTHON让繁琐的工作自动化-猜数字游戏
  • 从数据汇总到高级分析,SQL 查询进阶实战(下篇)—— 分组、子查询与窗口函数全攻略
  • 车e估牵头正式启动乘用车金融价值评估师编制
  • CoRL 2025|隐空间扩散世界模型LaDi-WM大幅提升机器人操作策略的成功率和跨场景泛化能力
  • 从「行走」到「思考」:机器人进化之路与感知—决策链路的工程化实践
  • 第4.3节:awk正则表达式详解-特殊字符
  • Pytest测试框架基础及进阶
  • 前端css学习笔记7:各种居中布局空白问题
  • Jenkins全链路教程——Jenkins调用Maven构建项目
  • IoT/透过oc_lwm2m和at源码,分析NB-IoT通信模组和主板MCU之间的通信过程
  • 【Jenkins】03 - 自动构建和docker构建
  • 【opencv-Python学习笔记(7):图像平滑处理】
  • 删除并获得点数
  • label studio标注时序数据
  • 力扣热题100------19.删除链表的倒数第N个结点
  • 深度学习篇---卷积
  • Linux unistd.h 包含功能
  • Spring 三级缓存:破解循环依赖的底层密码
  • 使用Idea安装JDK