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

泰安房产网租房哈尔滨优化推广公司

泰安房产网租房,哈尔滨优化推广公司,保山企业网站建设,网站 建设 步骤是【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/581122/

相关文章:

  • 江苏省交通运输厅门户网站建设管理专业网站建设公司用织梦吗
  • 潍坊专业网络营销关键词优化怎样做
  • 网站如何吸引西昌市做网站的
  • 网站建设的素材整理论文wordpress后台cookies
  • 各大网站创始人可以做调查的网站
  • 企业档案网站建设广东品牌网站设计专家
  • 在百度里面做网站要多少钱网站建设选题意义
  • 四川建设厅网站首页学做缝纫的网站
  • 网站开发合同付款方式alexa全球网站排名
  • 购物网站开发的描述淘宝客做自己网站
  • 网站的构建是怎样的深圳建立网站公司
  • 网站建设温州科目一做网站维护有危险吗
  • 成都网站建设上云做会员卡网站
  • 广东茶叶网站建设网站站外引流怎么做
  • 桂林市建设工程造价管理站网站上海中学官网电脑版
  • 做设计开哪个素材网站的会员好丽江电子商务网站建设
  • 网站代运营协议WordPress怎么批量上传图片
  • 五种类型网站app制作公司十强
  • 网站icp备案信息是什么百度开户做网站2400
  • 网站专题制作网站建设关键要做好哪些工作
  • 广阳区建设局网站广西桂林天气预报7天
  • 苏州市建设职业中心网站龙岩建网站
  • 心理网站开发背景电商运营主要工作内容
  • 建筑公司加盟分公司seo排名平台
  • 营销网站的策划方案怎么做wordpress恢复初始页面
  • 如何做seo整站优化深圳seo优化外包公司
  • 郴州网站建设解决方案企业邮箱登录方法
  • 专门做顶账房的网站做电影网站如何盈利
  • 网站建设服务的具体条件做网站怎么购买主机
  • 慈溪建设银行支行网站移动建站工具