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

可以让网友帮做任务的网站phpstudy搭建网站教程

可以让网友帮做任务的网站,phpstudy搭建网站教程,响应式网站标准尺寸,软件开发资源网站【LetMeFly】2342.数位和相等数对的最大和:哈希表 力扣题目链接:https://leetcode.cn/problems/max-sum-of-a-pair-with-equal-sum-of-digits/ 给你一个下标从 0 开始的数组 nums ,数组中的元素都是 正 整数。请你选出两个下标 i 和 j&…

【LetMeFly】2342.数位和相等数对的最大和:哈希表

力扣题目链接:https://leetcode.cn/problems/max-sum-of-a-pair-with-equal-sum-of-digits/

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

请你找出所有满足条件的下标 ij ,找出并返回 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 。

 

提示:

  • 1 <= nums.length <= 105
  • 1 <= nums[i] <= 109

方法一:哈希表

我们只需要建立一个哈希表,维护哈希表中“和为 k e y key key的最大的两个数”即可。

具体怎么做呢?

遍历数组中的元素 t t t,如果 t t t的和在哈希表中,那么就保留“哈希表中”和“ t t t”中较大的两个元素。

这里有一个小技巧:可以保持哈希表中的两个元素的相对顺序为第一个元素不小于第二个元素,这样替换时只需要比较 t t t和哈希表对应元素的第二个元素即可。

  • 时间复杂度 O ( l e n ( n u m s ) ) O(len(nums)) O(len(nums))
  • 空间复杂度 O ( l e n ( n u m s ) ) O(len(nums)) O(len(nums))

AC代码

C++
inline int getSum(int n) {int ans = 0;while (n) {ans += n % 10;n /= 10;}return ans;
}class Solution {
public:int maximumSum(vector<int>& nums) {unordered_map<int, pair<int, int>> ma;int ans = -1;for (int t : nums) {int s = getSum(t);if (t > ma[s].second) {ma[s].second = t;}if (ma[s].first < ma[s].second) {swap(ma[s].first, ma[s].second);}if (ma[s].second) {ans = max(ans, ma[s].first + ma[s].second);}}return ans;}
};
Python
class Solution:def getSum(self, n: int) -> int:ans = 0while n:ans += n % 10n //= 10return ansdef maximumSum(self, nums: List[int]) -> int:ans = -1ma = dict()for t in nums:s = self.getSum(t)if s in ma:if t > ma[s][1]:ma[s][1] = tif ma[s][0] < ma[s][1]:ma[s][0], ma[s][1] = ma[s][1], ma[s][0]ans = max(ans, sum(ma[s]))else:ma[s] = [t, 0]return ans

同步发文于CSDN,原创不易,转载经作者同意后请附上原文链接哦~
Tisfy:https://letmefly.blog.csdn.net/article/details/134476645

http://www.yayakq.cn/news/328649/

相关文章:

  • 网咯鸟深圳网站建设杭州app外包公司排名
  • 高安建站公司张家港营销型网站建设
  • 化妆品网站建设版块什么是网络营销的现实基础
  • 网站申请微信登录免费禁用黄app软件排行
  • dw网站建设基本流程创造与魔法官方网站一起做喜欢的事
  • 邯郸本地网站投资网站建设公司
  • 电脑登录不了建设银行网站wordpress无法设置中文字体
  • 美妆网站开发规划书2017网站主流设计风格
  • 什么网站可以做设计兼职学室内设计需要什么学历
  • 浏览不良网站会被网警抓吗响应式 wordpress
  • 网站页面相似度检测视频制作软件哪个好 前十名
  • 礼县网站建设seo怎么做网站内容
  • 合肥网站建设黄页设计师经常用的网站
  • 公司做的局域网网站怎么登陆做网站i3够用吗
  • 网站怎么做直播间鳌江哪里有做网站
  • php网站建设思路dede 网站打开慢
  • 单位做网站支出应怎么核算网络优化软件有哪些
  • 国内做免费视频网站手机端网站建设郑州
  • 电子商务网站建设课后习题北京电子商务网站建设
  • 中国最好网站建设公司今天河南重大新闻
  • 网站怎么通过流量赚钱办营业执照要多少钱
  • 购物商城网站模板分别是什么
  • 高端html5网站建设图片网站如何优化
  • 衡水网站建设的地方建立企业网站几天
  • wordpress手机网站插件免费高清素材网站
  • 路由器设置用来做网站空间吗如何自助建站
  • 建设银行河南省分行网站在哪里可以改动网站标题
  • 建立网站 英语怎么说一个网站开发的假设
  • 怎么做有趣视频网站网站建设的请示报告
  • 济宁网站建设制作设计做网站的语言叫什么