LeetCode刷题12-整型数组按个位值排序
package com.example.demo.leetcode.case202208; import java.util.*; import java.util.stream.Collectors; /** * 功能描述 * * @author ASUS * @version 1.0 * @Date 2022/8/6 */ public class Main2022080608 { /* 整型数组按个位值排序 给定一个非空数组(列表) 其元素数据类型为整型 请按照数组元素十进制最低位从小到大进行排序 十进制最低位相同的元素,相对位置保持不变 当数组元素为负值时,十进制最低为等同于去除符号位后对应十进制值最低位 输入描述 给定一个非空数组(列表) 其元素数据类型为32位有符号整数 数组长度为[1,1000] 输出排序后的数组 输入 1,2,5,-21,22,11,55,-101,42,8,7,32 输出 1,-21,11,-101,2,22,42,32,5,55,7,8 */ public static void main(String[] args) { // 获取输入信息 Scanner scanner = new Scanner(System.in); String str = scanner.nextLine(); LinkedHashSet<String> elementList = new LinkedHashSet<>(Arrays.asList(str.split(","))); // 从小到大 System.out.println(elementList.stream() .sorted(Comparator.comparingInt(o -> o.charAt(o.length() - 1))) .collect(Collectors.joining(","))); // 从大到小 System.out.println(elementList.stream() .sorted(Comparator.comparingInt(Main2022080608::applyAsInt).reversed()) .collect(Collectors.joining(","))); } /** * 字符串最后一位元素 * * @param o * @return */ private static int applyAsInt(String o) { return o.charAt(o.length() - 1); } }
本文来自博客园,作者:chch213,转载请注明原文链接:https://www.cnblogs.com/chch213/p/16557725.html