写一个java关于离散化的代码
时间: 2023-04-09 15:01:16 浏览: 92
ImageTransforms:离散傅里叶变换的Java实现以及另一个变换
好的,我可以回答这个问题。以下是一个简单的Java代码示例,用于将一组连续的数值转换为一组离散的数值:
```
import java.util.*;
public class Discretization {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int[] nums = new int[n];
for (int i = 0; i < n; i++) {
nums[i] = sc.nextInt();
}
int[] sortedNums = nums.clone();
Arrays.sort(sortedNums);
Map<Integer, Integer> map = new HashMap<>();
int index = 0;
for (int i = 0; i < n; i++) {
if (!map.containsKey(sortedNums[i])) {
map.put(sortedNums[i], index++);
}
}
for (int i = 0; i < n; i++) {
System.out.print(map.get(nums[i]) + " ");
}
}
}
```
这个程序首先读取一个整数n,表示要离散化的数值的数量。然后,它读取n个整数,存储在一个数组中。接下来,它将这些数值排序,并使用一个哈希表来映射每个数值到它的离散化值。最后,它输出每个数值的离散化值。
阅读全文