当前位置: 首页 > article >正文

2342. 数位和相等数对的最大和 --力扣 --JAVA

题目

给你一个下标从 0 开始的数组 nums ,数组中的元素都是  整数。请你选出两个下标 i 和 ji != j),且 nums[i] 的数位和 与  nums[j] 的数位和相等。

请你找出所有满足条件的下标 i 和 j ,找出并返回 nums[i] + nums[j] 可以得到的 最大值 

解题思路

  1. 计算元素数位和;
  2. 将相同数位和的元素通过List进行记录;
  3. 对List进行排序,取最大的两个值记录;
  4. 返回最大值。

代码展示

public class Two {
    public static void main(String[] args) {
        Two two = new Two();
        System.out.println(two.maximumSum(new int[]{18,43,36,13,7}));
        System.out.println(two.maximumSum(new int[]{10,12,19,14}));
    }
    public int maximumSum(int[] nums) {
        Map<Integer, List<Integer>> data = new HashMap<>();
        for (int i = 0; i < nums.length; i++){
            int num = numSum(nums[i]);
            List<Integer> temp = data.getOrDefault(num, new ArrayList<>());
            temp.add(nums[i]);
            data.put(num, temp);
        }
        int maxSum = -1;
        for (List<Integer> list : data.values()){
            int size = list.size();
            if(size < 2){
                continue;
            }
            Collections.sort(list);
            maxSum = Math.max(maxSum, list.get(size - 1) + list.get(size - 2));
        }
        return maxSum;
    }
    public int numSum(int num){
        int sum = 0;
        while (num > 0){
            sum += num % 10;
            num = num / 10;
        }
        return sum;
    }
}


http://www.kler.cn/a/133758.html

相关文章:

  • 【JavaScript】为 setInterval()定义变量,存储ID
  • Iotop使用
  • Database Advantages (数据库系统的优点)
  • ubuntu20.04 解决Pytorch默认安装CPU版本的问题
  • 【大数据测试HBase数据库 — 详细教程(含实例与监控调优)】
  • C++编程:利用环形缓冲区优化 TCP 发送流程,避免 Short Write 问题
  • MySQL数据库下的Explain命令深度解析
  • 自动驾驶学习笔记(九)——车辆控制
  • .NET 8 正式 GA 遥遥领先
  • kaggle新赛:SenNet 3D肾脏分割大赛(3D语义分割)
  • windows 安装 Oracle Database 19c
  • WPF如何实现应用程序托盘
  • 【算法日志】图论 并查集及其简单应用
  • [C国演义] 哈希的使用和开闭散列的模拟实现
  • 【网络通信】探索UDP与TCP协议、IP地址和端口号的奥妙
  • 计算机科学速成课
  • 单链表在线OJ题(详解+图解)
  • vscode文件夹折叠问题
  • 音视频项目—基于FFmpeg和SDL的音视频播放器解析(六)
  • 多线程(初阶)
  • 【IPC】消息队列
  • 针对CSP-J/S的每日一练:Day9
  • Sqlite安装配置及使用
  • vscode中Chinese (Simplified)汉化无效解决方法
  • 我叫:选择排序【JAVA】
  • 教程:使用 Keras 优化神经网络