首页 > 解决方案 > 如何在Java中检索具有给定范围的子数组中的第k个元素?

问题描述

我有一个数组,其中的值为:

int[] elements = {4 , 7 , 3 , 6 ,2 ,5 ,1};

用户输入为 (k,i,j) 即 K 表示 (i,j) 范围内的第 K 个索引

如果用户的输入是(3,0,6)答案必须是3因为范围(0,6)中的第三个索引是3

如何检索第 K 个索引并打印索引的值?

标签: javaarraysdata-structures

解决方案


一种方法是创建您自己的函数,该函数使用和索引从原始子数组中获取一个子数组。beginend

import java.util.Arrays;
public static int[] subArray(int[] array, int beg, int end) {
    return Arrays.copyOfRange(array, beg, end + 1);
}

然后只需使用以下函数来访问您的k - 1元素。

int[] subarray = subArray(arr, beg, end);
System.out.println(subarray[k - 1]);

推荐阅读