news 2026/6/9 20:12:50

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

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
数组分组判断 + 下标方位判断(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 右两步

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/8 19:44:05

Fastlivo2

误差迭代卡尔曼滤波器&#xff08;esikf&#xff09; “智能纠错员”和“迭代优化大师” 在一个slam系统中&#xff0c;对于机器人的位姿会有一个估计值&#xff0c;但是这个估计值会有误差&#xff0c;同时传感器也有测量位置&#xff0c;但是传感器也会有误差。 esikf作用…

作者头像 李华
网站建设 2026/6/9 8:27:14

Obsidian笔记软件联动:LobeChat辅助知识管理

Obsidian笔记软件联动&#xff1a;LobeChat辅助知识管理 在信息爆炸的时代&#xff0c;知识工作者每天都在与碎片化内容搏斗。你是否也曾经历过这样的场景&#xff1a;打开 Obsidian&#xff0c;面对上百个未整理的笔记文件&#xff0c;却不知道从何下手&#xff1f;想写一篇深…

作者头像 李华
网站建设 2026/6/8 12:04:05

LobeChat代码解释器插件开发指南:类似Code Interpreter的功能实现

LobeChat代码解释器插件开发指南&#xff1a;类似Code Interpreter的功能实现 在智能助手日益“能说会做”的今天&#xff0c;用户不再满足于AI仅能回答问题——他们希望它能真正动手做事。比如上传一份销售数据文件&#xff0c;直接让AI画出趋势图&#xff1b;或是输入一道复杂…

作者头像 李华
网站建设 2026/6/8 12:38:50

LobeChat意图识别增强:结合NLU模型提升理解力

LobeChat 意图识别增强&#xff1a;结合 NLU 模型提升理解力 在智能对话系统日益普及的今天&#xff0c;用户早已不再满足于“能聊几句”的 AI 助手。他们希望的是一个真正“懂我”的伙伴——能听出言外之意、分得清轻重缓急、做得了具体事情。可现实是&#xff0c;大多数聊天…

作者头像 李华
网站建设 2026/6/7 11:43:34

彻底解决PMX转VRM的骨骼缺失问题:Blender插件实战指南

彻底解决PMX转VRM的骨骼缺失问题&#xff1a;Blender插件实战指南 【免费下载链接】VRM-Addon-for-Blender VRM Importer, Exporter and Utilities for Blender 2.93 or later 项目地址: https://gitcode.com/gh_mirrors/vr/VRM-Addon-for-Blender 当你在Blender中使用V…

作者头像 李华
网站建设 2026/6/8 20:24:45

12、跨应用蜂窝流量优化技术解析

跨应用蜂窝流量优化技术解析 1. 流量处理流程 当一个 HTTP 请求通过黑名单过滤后,会被转发到 Squid 代理。Squid 代理会从原始源获取请求的内容,并使用最近最少使用(LRU)方案对对象进行基于名称的缓存,有助于减少热门对象的延迟。内容被 Squid 获取后,会经过中间设备进…

作者头像 李华