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

数组分组判断 + 下标方位判断(Java)

一、数组分组判断的循环条件(核心:避免下标越界)

1. 核心规则

循环条件 =j < 数组长度(len) - (每组元素个数 - 1)→ 本质:保证「分组的最后一个元素下标 < 数组长度」,不会越界。

2. 举例验证(数组[1,2,3,4],len=4)

分组场景每组元素数循环条件有效 j 值对应分组说明(为什么不越界)
单个元素判断(无分组)1j < 4(len)0,1,2,3[1]、[2]、[3]、[4]单个元素无需预留位置
2 个元素一组(相邻两位)2j < 3(len-1)0,1,2[1,2]、[2,3]、[3,4]最后一组 j=2,j+1=3 <4
3 个元素一组(连续三位)3j < 2(len-2)0,1[1,2,3]、[2,3,4]最后一组 j=1,j+2=3 <4
4 个元素一组(连续四位)4j < 1(len-3)0[1,2,3,4]最后一组 j=0,j+3=3 <4

3. 记忆口诀

分组几元素,在for遍历中的范围条件就是i < 下标最大值 -(几 - 1);单个不用减,越界不出现。

例如:[1,2,3]

下标最大值 = 2

2个元素一组

所以遍历范围条件:i < 2 - 1


数组下标方位判断

下标方位的本质 =数组里的元素是 “从数字的哪一端开始存的”,数组只分两种存储方式:反向存储(int型)、正向存储(String型)。

第一步:先搞懂 “反向存储”

1. 反向存储怎么来?(操作步骤,看一遍就会)

拆数字时用temp % 10个位(最右边),再用temp /= 10取十位、百位… 把取到的数依次存进数组。→ 简单说:先存数字的 “最右边位”,再存往左的位

2. 下标方位(用 314、5342 两个例子,奇偶都覆盖)

j为当前遍历数值的下标

数字反向存储数组(arr)arr[j](j=0)arr[j+1](j=0)arr[j+2](j=0)arr [j+3](j=0,仅 5342)
314(3 位)[4,1,3]4(个位,最右)1(十位,中间)3(百位,最左)-
5342(4 位)[2,4,3,5]2(个位,最右)4(十位,右中)3(百位,左中)5(千位,最左)

3. 反向存储口诀

j 是右,+1 左一步,+2 左两步(j 对应数字最右边位,j+1 是数字里往左挪一位,j+2 再往左挪一位)

第二步:正向存储

1. 正向存储怎么来?

拆数字时先存最高位(最左边),再存往右的位(比如 314 先存 3,再存 1,最后存 4)。→ 简单说:先存数字的 “最左边位”,再存往右的位

2. 下标方位(同样用 314、5342)

数字正向存储数组(arr)arr[j](j=0)arr[j+1](j=0)arr[j+2](j=0)arr [j+3](j=0,仅 5342)
314(3 位)[3,1,4]3(百位,最左)1(十位,中间)4(个位,最右)-
5342(4 位)[5,3,4,2]5(千位,最左)3(百位,左中)4(十位,右中)2(个位,最右)

3. 正向存储口诀(反向口诀反过来就行)

j 是左,+1 右一步,+2 右两步

http://www.cnnetsun.cn/news/97641.html

相关文章:

  • AutoCAD字体缺失终极解决方案:智能管理工具全面解析
  • EmotiVoice语音多样性测试:避免重复单调输出
  • LobeChat注册流程简化方案
  • 8、离线下载系统:云与智能AP的性能剖析
  • 有声读物制作新利器:EmotiVoice让朗读更自然生动
  • 3步搞定OFD转PDF:零基础也能快速上手的文档转换指南
  • RTL8852BE驱动:Linux无线网卡兼容性问题终极解决方案
  • Honor of Kings (S41) 100star 2025.12.17
  • 【毕业设计】SpringBoot+Vue+MySQL 高校物品捐赠管理系统平台源码+数据库+论文+部署文档
  • LobeChat支持流式输出吗?实测大模型响应延迟表现
  • LobeChat OpenAI GPT-3.5/4接入配置详解
  • EmotiVoice语音合成安全性评估:防滥用机制探讨
  • Zotero插件一键安装终极指南:告别繁琐手动操作
  • 3D文件格式转换的核心挑战与优化策略
  • Java SpringBoot+Vue3+MyBatis 高校危化试剂仓储系统系统源码|前后端分离+MySQL数据库
  • 算法 C语言 冒泡排序
  • 基于微信小程序的校园工会体育报名系统计算机毕业设计(源码+lw+部署文档+讲解等)
  • AppleRa1n:iOS激活锁绕过的终极解决方案指南
  • RTL8852BE驱动:Linux无线网络兼容性问题的完整解决方案指南
  • 如何彻底解决Windows 11安装蓝屏:MediaCreationTool.bat驱动兼容性完全指南
  • 最新软件测试面试题,常见面试题及答案汇总,不怕拿不到offer
  • Obsidian样式定制完全指南:从入门到精通的主题个性化技巧
  • LobeChat私域流量转化文案
  • Leakcanary检测内存泄漏汇总
  • LobeChat主持人串场词生成
  • 解锁全球付费内容:Bypass Paywalls Clean完全指南
  • 14、Linux 文件搜索:grep 与 find 命令全解析
  • 18、Linux系统:磁盘使用查询与软件安装管理指南
  • WebPlotDigitizer图表数据提取:3步实现科研图像到精准数据的完整指南
  • 【毕业设计】SpringBoot+Vue+MySQL 高校宣讲会管理系统平台源码+数据库+论文+部署文档