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

scanner、arrylist、反转数组、双指针轮转数组问题

一、scanner使用

固定格式

import java.util.Scanner; // 1. 导入类 public class Example { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); // 2. 创建对象 System.out.println("请输入月份:"); int month = scanner.nextInt(); // 3. 读取整数输入(此时写这句话) // 后续使用 month 做逻辑处理... scanner.close(); // 最后关闭扫描器,释放资源 } }

二、反转数组for循环

随机生成了含有五个数字的数组

// 使用 for 循环反转数组 int left = 0; int right = arr.length - 1; while (left < right) { // 交换左右指针指向的元素 int temp = arr[left]; arr[left] = arr[right]; arr[right] = temp; left++; right--; } /* ---------- 原地双指针交换函数 ---------- */ private void reverse(char[] arr, int l, int r) { while (l < r) { char tmp = arr[l]; arr[l] = arr[r]; arr[r] = tmp; l++; r--; }

三、ArrayList方法

1.arrylist统一格式:

  • E: 泛型数据类型,用于设置 objectName 的数据类型,只能为引用数据类型
  • objectName: 对象名。
import java.util.ArrayList; // 引入 ArrayList 类 ArrayList<E> objectName =new ArrayList<>(); // 初始化

2.arrylist方法

①.add(Object element) 向列表的尾部添加指定的元素。

②.size() 返回列表中的元素个数。

③.get(int index) 返回列表中指定位置的元素,index从0开始。

四、双指针轮转数组问题

while (i < j) { int temp = nums[i]; nums[i++] = nums[j]; nums[j--] = temp;

双指针应用的问题类型:

while (i < j`的双指针套路,核心思想是:

把「两端向中间夹」或「两段区间互换」变成 O(n) 一次扫描。

除了刚才的 数组翻转,下面这些都是高频出现、面试常考的双指针场景:

1. 回文判定
从两头往中间扫,比较字符是否相同。
例题:125. 验证回文串、680. valid palindrome II。

2. 有序数组两数之和
头尾指针,和太大就右移尾,和太小就左移头。
例题:167. Two Sum II。

3. 三数 / 四数之和(n-Sum 套路)
先排序,固定一个数,剩下区间用双指针找两数之和。
例题:15. 3Sum、18. 4Sum。

4. 快慢指针(对撞型变种)
快指针先走 k 步,再两指针同步走,快到底时慢指针就在倒数第 k 个。
例题:19. 删除链表倒数第 N 个结点、876. 链表中间结点。

5. 容器盛水最多(面积最大)
头尾各一根柱子,每次移动短的那根,计算面积更新最大值。
例题:11. Container With Most Water。

6. 滑动窗口「缩左边界」时也用双指针
右指针扩张,满足条件后左指针收缩,区间统计最值。
例题:3. 无重复字符的最长子串、76. 最小覆盖子串。

7. partition 操作(快速排序 / 荷兰国旗)
左右指针把「小于基准」和「大于基准」分开。
例题:75. Sort Colors、215. 数组第 K 大元素。

8. 合并两个有序数组 / 链表
从后往前或从前往后双指针,谁小移谁。
例题:88. Merge Sorted Array、21. Merge Two Lists。

9. 二分查找本身就是双指针
左、右指针向中间夹,找目标或插入位置。

10. 旋转数组的「三次翻转」
189 题,区间翻转用 i < j 双指针原地完成。

http://www.jsqmd.com/news/1295406/

相关文章:

  • C语言零基础第1讲:初识C语言
  • 2026靠谱的微信投票小程序怎么选
  • Nodepay-Claimer安全指南:保护你的加密资产不被盗取
  • 广州发音不清机构怎么选?从能力基线到家庭协同 - 资讯在线
  • 要背的模板
  • VoiceFixer语音修复工具:3分钟让受损音频重获新生的完整指南
  • compose-rules性能优化实战:减少90%的Compose重组问题
  • 告别手速焦虑:3分钟掌握大麦自动抢票终极解决方案
  • Onekey终极指南:3分钟学会Steam游戏解锁的完整教程
  • 新手必看:棱镜AI工作流入门指南,教你5分钟搭建
  • 智能化破局:邦德激光AI切割机新品类背后的产业逻辑
  • 如何在Zotero中一键发现和管理插件?终极Zotero插件市场使用指南
  • 北京密云经典老花系列回收测评,不同包型折价标准 - 生活时报
  • 如何高效筛选新鲜招聘机会:Boss Show Time插件完全指南
  • 支持40种语言意味着什么:必火AI多语言内容生产的验收重点
  • 平衡二叉搜索树
  • 深圳哪家装修公司靠谱趋势如何判断?2026年政策与风险分析 - 资讯在线
  • 仪器结果传入 LIMS:字段映射、幂等与异常重试怎么设计
  • 2026年三款巴马水客观参数对比 - 万相科技
  • 终极指南:如何使用FModel轻松探索和提取虚幻引擎游戏资源
  • 涉密会议不敢用?通义千问本地化部署会议转录方案(国产信创环境适配+离线模型量化指南)
  • 177、主观评价方法论:双盲测试、ITU-R BT.500标准与专家评审实战
  • 国内图文快印公司排行 基于服务与能力维度整理 - 甄选测评馆
  • 新闻、小说类阅读APP功能开发及优化
  • 广州街坊必看!黄金回收不看品牌只看这3点(纯度/重量/发票),别再被金店忽悠了 - 奢侈品回收评测
  • 安徽省文武学校2026年招生名单:正规武校信息汇总参考 - 圣龙武术朱老师
  • What is System Operation and Maintenance?
  • 2026苏州瓷砖空鼓修复公司全指南:本土口碑品牌盘点,对症解决水乡空鼓顽疾 - 防水空鼓维修家
  • tchMaterial-parser:如何将在线教材库一键变为本地资源库
  • 单片机毕设项目:基于单片机的温湿度烟雾检测与智能报警装置开发 基于 STM32 的环境监测与风扇自动调控系统设计(013901)