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

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.lryc.cn/news/235285.html

相关文章:

  • linux如何重置root密码
  • Java 类之 java.util.Properties
  • 我遇到的bug(活动)
  • MIB 6.1810实验Xv6 and Unix utilities(3)pingpong
  • 压力测试总共需要几个步骤?思路总结篇
  • 03_面向对象高级_多态
  • 【Kingbase FlySync】界面化管控平台:2.配置数据库同步之KES>KES
  • 企业计算机服务器中了mallox勒索病毒怎么解决,勒索病毒解密文件恢复
  • Sonar生成PDF错误Can‘t get Compute Engine task status.Retry..... HTTP error: 401
  • storage和正则表达式
  • 【数据结构】图的广度优先遍历
  • AM@函数展开成幂级数@间接法@常用麦克劳林幂级数展开公式
  • LeetCode994.腐烂的橘子
  • 【开源】基于Vue和SpringBoot的康复中心管理系统
  • 【音视频基础】AVI文件格式
  • 图书馆整理I(从尾到头打印列表),剑指offer,力扣
  • C++编写的多线程自动爬虫程序
  • SMB信息泄露的利用
  • QT自定义信号,信号emit,信号参数注册
  • 06.webpack性能优化--构建速度
  • 11-15 周三 softmax 回归学习
  • React新手必懂的知识点
  • es为什么这么快
  • Pandas分组聚合_Python数据分析与可视化
  • VMware17虚拟机Linux安装教程(详解附图,带VMware Workstation 17 Pro安装)
  • 基于SDN技术构建多平面业务承载网络
  • 关于卓越服务的调研报告
  • ubuntu22.04换源
  • 03. Python中的语句
  • Linux CentOS7 添加网卡