离散化(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);
		//1 2 4 4 5
		int k = 0;
		Map<Integer,Integer> map = new HashMap<>();
		for(int i=0;i<n;i++) {
			set.add(a[i]);
			//1 2 4 5
			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
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。