Java编程练习与字符处理技巧
数组相关操作
在Java编程中,数组操作是常见的任务,下面将介绍几个与数组相关的操作及优化方法。
数组元素移动算法优化
fourLast(…) 方法接收一个数组作为参数,该数组可能为 null ,此时 numbers.length 会导致 NullPointerException 。若数组只有一个元素,则直接将其返回给调用者。原算法的实现方式是从左到右遍历数组,当找到包含数字 4 的元素时,再从右到左寻找第一个不包含 4 的空位,然后交换这两个元素。不过,这个算法并非最优,可从以下几个方面进行改进:
1. 外层循环优化 :原算法中,带有 startIndex 的循环总是运行到 numbers.length ,这其实是不必要的。若内层循环找到包含 4 的数字,该数字会被移到数组末尾,此时可将数组长度减 1 ,因为无需再查看最后一个元素。
2. 内层循环优化 :内层循环总是从右到左寻找第一个不包含 4 的数字,效率不高。由于数字 4 的块只会向左增长,可使用一个变量记录最后一个 4 的位置。当内层循环再次运行时,可从该位置继续查找,无需每次都从右开始。
3. <
超级会员免费看
订阅专栏 解锁全文
231

被折叠的 条评论
为什么被折叠?



