java 无序数字,不重新排序 ,生成连号代码
时间: 2024-04-29 09:21:18 浏览: 11
以下是Java代码,用于生成连续的数字序列,而不需要重新排序:
```java
import java.util.HashSet;
public class ContinuousNumbersGenerator {
public static void main(String[] args) {
int[] nums = {4, 5, 1, 6, 3, 8, 9, 2};
HashSet<Integer> set = new HashSet<>();
for (int num : nums) {
set.add(num);
}
int min = Integer.MAX_VALUE, max = Integer.MIN_VALUE;
for (int num : nums) {
if (num < min) min = num;
if (num > max) max = num;
}
for (int i = min; i <= max; i++) {
if (set.contains(i)) {
System.out.print(i + " ");
}
}
}
}
```
上述代码将输入数组中的数字放入HashSet中,然后找到数组中的最小值和最大值。接下来,从最小值到最大值循环,如果HashSet中包含当前循环的数字,则输出该数字,以此生成连续的数字序列。由于HashSet的查找时间是常数级别的,因此该算法的时间复杂度为O(n)。