gpt4 book ai didi

java - Java 中整数到 int[] 的转换

转载 作者:行者123 更新时间:2023-12-01 17:47:03 25 4
gpt4 key购买 nike

问题:

Given an array of integers nums sorted in ascending order, find the starting and ending position of a given target value.

Example:Input: nums = [5,7,7,8,8,10], target = 8 Output: [3,4]

我的代码:

class Solution34{
public int[] searchRange(int[] nums, int target) {
ArrayList<Integer> index=new ArrayList<>();
for(int i=0;i<nums.length;i++){
if(nums[i]==target){
index.add(i);
}
}
Integer[] index_arr = new Integer[index.size()];
index_arr = index.toArray(index_arr);

System.out.println(index);
return index_arr;
}
}

System.out.println(index) - 我的代码给了我想要的输出。(如果我省略 return 语句)。

我在最后一行返回index_arr中遇到错误。错误:不兼容的类型:必需的 int[] 找到 Java.lang.Integer。

然后我搜索如何将 Integer 转换为 int 并发现 .int.Value 用于将 Integer 转换为 int。当我在代码中使用它时,我收到另一个错误无法识别的命令。如何将 Integer 转换为 int[]?

最佳答案

我将从初始化为 -1firstIndexlastIndex 开始。然后迭代 nums 数组搜索 target。找到后,如果 firstIndex-1,则初始化它和 lastIndex - 否则仅更新 lastIndex。最后返回一个新数组。就像,

public static int[] searchRange(int[] nums, int target) {
int firstIndex = -1, lastIndex = -1;
for (int i = 0; i < nums.length; i++) {
if (nums[i] == target) {
if (firstIndex == -1) {
lastIndex = firstIndex = i;
} else {
lastIndex = i;
}
}
}
if (firstIndex == -1) {
return new int[] { -1 };
}
return new int[] { firstIndex, lastIndex };
}

关于java - Java 中整数到 int[] 的转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53993435/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com