码迷,mamicode.com
首页 > 编程语言 > 详细

HDU2020——绝对值排序(java实现,使用map)

时间:2020-01-01 18:24:20      阅读:87      评论:0      收藏:0      [点我收藏+]

标签:存储   src   java实现   打印   hashmap   ble   als   integer   http   

Question Description

技术图片

 

 Input

技术图片

Output

技术图片

技术图片

Sample Input

技术图片

Sample Output

技术图片

 

 

解题思路简述:

在接收每一个数组的过程中,将负数及其绝对值以键值对的形式存入map(先绝对值,后负数)(因为题目有说“题目保证对于每一个测试实例,所有的数的绝对值都不相等。”)

然后数组中实际存储的是绝对值而不是负数

然后将数组通过冒泡排序降序排序

最后遍历数组,同时查询map中是否有相应键值对,有的话就将该项变为负数

然后打印_完成

 

源码:

import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;

public class Main{
    static void bubble_decending_order(int[] arr){
        boolean flag = true;
        for(int i =1;i<arr.length;++i){
            for(int j=0;j<arr.length-i;++j){
                if(arr[j]<arr[j+1]){
                    flag = false;
                    int temp = arr[j];
                    arr[j] = arr[j+1];
                    arr[j+1] = temp;
                }
            }
            if(flag){
                break;
            }
        }
    }

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        while(true){
            int count = sc.nextInt();
            if(count==0) break;
            int[] data = new int[count];
            Map<Integer,Integer> map = new HashMap<>();
            for(int i = 0;i<count;++i){
                data[i] = sc.nextInt();
                if(data[i]<0)
                    map.put(Math.abs(data[i]),data[i]);
                data[i] = Math.abs(data[i]);
            }
            bubble_decending_order(data);
            for(int i = 0;i<data.length;++i){
                if(map.containsKey(data[i])){
                    data[i] = map.get(data[i]);
                }
            }
            for(int i = 0;i<data.length;++i){
                System.out.print(data[i]);
                if(i+1!=data.length)
                    System.out.print(" ");
            }
            System.out.println();

        }
    }
}

 

hdoj已通过

 

希望对大家有所帮助

以上

HDU2020——绝对值排序(java实现,使用map)

标签:存储   src   java实现   打印   hashmap   ble   als   integer   http   

原文地址:https://www.cnblogs.com/lavender-pansy/p/12129236.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!