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

leetcode做题笔记2342. 数位和相等数对的最大和

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

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

示例 1:

输入:nums = [18,43,36,13,7]
输出:54
解释:满足条件的数对 (i, j) 为:
- (0, 2) ,两个数字的数位和都是 9 ,相加得到 18 + 36 = 54 。
- (1, 4) ,两个数字的数位和都是 7 ,相加得到 43 + 7 = 50 。
所以可以获得的最大和是 54 。

示例 2:

输入:nums = [10,12,19,14]
输出:-1
解释:不存在满足条件的数对,返回 -1 。

思路一:哈希表

c++解法

class Solution {
public:int maximumSum(vector<int>& nums) {int n = nums.size();int res = -1;unordered_map<int, int> hashmap;for (int i = 0; i < n; i ++){int sum = 0, x = nums[i];while (x) sum += x % 10, x /= 10;if (hashmap[sum]) res = max(hashmap[sum] + nums[i], res);hashmap[sum] = max(nums[i], hashmap[sum]);}return res;}
};

分析:

利用哈希表存储数位和,当查询时发现哈希表值相同时计算两数之和最大值,最后返回最大值即可

总结:

本题考察哈希表的运用,利用哈希表对应数位和相同,找到最大值

http://www.lryc.cn/news/235217.html

相关文章:

  • c# YOLOV5目标检测部署
  • 学习笔记6——垃圾回收
  • 3.1 Windows驱动开发:内核远程堆分配与销毁
  • C++: 模板初阶
  • 人工智能基础_机器学习036_多项式回归升维实战3_使用线性回归模型_对天猫双十一销量数据进行预测_拟合---人工智能工作笔记0076
  • 【算法挨揍日记】day29——139. 单词拆分、467. 环绕字符串中唯一的子字符串
  • YOLOv8-Seg改进:轻量级Backbone改进 | VanillaNet极简神经网络模型 | 华为诺亚2023
  • 解决Requests中使用httpbin服务器问题:自定义URL的实现与验证
  • ​软考-高级-系统架构设计师教程(清华第2版)【第17章 通信系统架构设计理论与实践(P614~646)-思维导图】​
  • 【MATLAB源码-第82期】基于matlab的OFDM系统载波频移偏差(CFO)估计,对比三种不同的方法。
  • Docker Swarm: 容器编排的力量和优势深度解析
  • 调整Windows键盘上只能看到拼音而无法看到实际的文本以及关闭输入法悬浮窗方法
  • 【微软技术栈】C#.NET 中的管道操作
  • Python学习笔记--进程
  • 比亚迪刀片电池与特斯拉4680电池比较
  • 在写windows C++代码的时候,从代码安全角度考虑,我们应该注意什么?
  • 【草料】uni-app ts vue 小程序 如何如何通过草料生成对应的模块化二维码
  • CMS与FullGC
  • 一款.NET开源的小巧、智能、免费的Windows内存清理工具 - WinMemoryCleaner
  • iptables详解:链、表、表链关系、规则的基本使用
  • 安全管理中心(设备和技术注解)
  • Failed to execute org.scala-tools:maven-scala-plugin:2.15.2解决
  • C#中委托和事件的使用总结
  • 基于STM32的外部中断(EXTI)在嵌入式系统中的应用
  • 【心得】PHP的文件上传个人笔记
  • 深度学习之基于Pytorch和OCR的识别文本检测系统
  • 三十一、W5100S/W5500+RP2040树莓派Pico<TCP_Server多路socket>
  • 带你精通chrony服务器
  • vs2017 编译Qt 5.11.2 源码
  • 【SpringBoot3+Vue3】四【实战篇】-前端(vue基础)