数组处理 Java 版Q22
介绍
此题需要看引导视频
此题需要 0.2.3 以上版本的 Jadeite
概要
下载初始代码文件。
按照 API 要求,填写代码,通过测试
下载
样例
题目
sum
接收一个整型数组,求出并返回所有数的和
参考答案
函数声明分析
需要一个整型数组,所以得有一个 int[] 的参数
需要返回所有数的和,所以返回值类型是 int
因此可以写出一个代码外壳
1 2 3 public int sum(int[] numbers) { return 0;}
实现代码
分析后,可以写出里面的执行代码
1 2 3 4 5 6 7 public int sum(int[] numbers) { int sum = 0; for (int i = 0; i < 5; i++) { sum += numbers[i]; } return sum;}
自己测试
可以自己在 run 里 测一测
1 2 3 4 5 6 7 <public void run () { { int[] numbers = {1, 2}; int result = sum(numbers); Console.println(result); }}3
API
注意:此题中,我们假设任何一个传进函数的整数数组,均至少有 2 个 元素
allPositives
接收一个整型数组,
求出并返回 这个数组里的数 是不是都是正数
countLucky
接收一个整型数组,
求出并返回 这个数组里 有多少个幸运数
幸运数是 2
count
接收一个整型数组 和 一个整数,
求出并返回 这个数组里 有多少个 那个整数
max
接收一个整型数组,
求出并返回 这个数组里 最大的那个数
increasing
接收一个整型数组,
求出并返回 这个数组 是不是一个递增序列
递增序列
数组里的每一个值 都大于或者等于 它前面的值
indexOf
接收一个整型数组 和 一个要查询的整数,
求出并返回 这个要查询的整数 在数组里的 索引值
特殊情况
如果 数组里 有多个值 均为 要查询的那个数,则返回 从左往右 第一次出现时 所在的索引值
如果 数组里没有 要查询的那个数,则返回 -1
indexOfMax
接收一个整型数组,
求出并返回 这个数组里 最大的那个数的索引
特殊情况
如果 数组里 最大的值出现多次,则返回 从左往右 第一次出现时 所在的索引值
indexesOf
接收一个整型数组,和一个整型参考值
求出并返回 一个新的数组,这个数组里的元素 是 这个参考值 所有在数组中出现时的索引
案例
arr: [6, 7, 3, 8, 3] result = indexesOf(arr, 3) 那么 result 应该是 [2, 4]
mapToPass
接收一个整型数组,和一个整型参考值
求出并返回 一个新的数组,这个数组里的每一个元素 都代表 这个元素是否 大于等于 那个参考值
案例
arr: [99, 100, 59] result = mapToPass(arr, 60) 那么 result 应该是 [true, true, false]
slice
接收一个整型数组,一个开始索引,和一个结束索引
求出并返回 一个新的数组,这个数组原始数组 根据 开始 和 结束 位置 切出来的数组
约束
包含 开始索引,不包含结束索引
假设 开始到结束之间 至少有一个元素,
假设
0 <= 开始索引 < 结束索引 <= 数组长度
案例
arr: [6, 7, 3, 8, 4] result = slice(arr, 1, 3) 那么 result 应该是 [7, 3]