离散化(Set和Map)
发布时间:2024年01月20日
import java.util.Arrays;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
import java.util.Scanner;
import java.util.Set;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
sc.nextLine();
int[] arr = new int[n];
int[] a = new int[n];
Set<Integer> set = new HashSet<>();
for(int i=0;i<n;i++) {
arr[i] = sc.nextInt();
a[i] = arr[i];
}
Arrays.sort(a);
int k = 0;
Map<Integer,Integer> map = new HashMap<>();
for(int i=0;i<n;i++) {
set.add(a[i]);
map.put(a[i],set.size());
}
for(int i=0;i<n;i++) {
System.out.print(map.get(arr[i])+" ");
}
sc.close();
}
}
文章来源:https://blog.csdn.net/qq_62552630/article/details/135718562
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:chenni525@qq.com进行投诉反馈,一经查实,立即删除!