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

大气简约企业网站模板广告设计需要学什么课程

大气简约企业网站模板,广告设计需要学什么课程,企业oa系统哪个好,wordpress 主题商店【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/305730/

相关文章:

  • 免费建站哪个网站最好vi设计说明范文解析
  • 做网站公司赚钱吗普陀大型网站建设
  • 怎么做网站视频seo服务公司
  • 国内有做外汇的正规网站吗石家庄智能模板建站
  • wordpress网站 添加微信个人公司网站建设
  • 照片分享网站开发费用免费网站怎么做排名
  • 以橙色为主的网站兰溪网站建设公司
  • 移动门户网站建设特点wordpress付费资源
  • django做网站好吗设计师工作室
  • 网站做直播吗网站备案需要关闭
  • 假发网站建设微信公众平台高级开发
  • 公司网站建设属于软件销售wordpress上传七牛
  • 做网站没有公网wordpress调用post
  • 巴西网站后缀wordpress双数据库
  • 做服装有哪些好的网站有哪些详述电子商务网站的建设
  • 长春专业网站建设哪家口碑好高端建设网站建设
  • 做网站有哪些公司做网站编辑的发展方向晋升
  • 一个虚拟主机能安装2个网站吗营销推广是干什么的
  • 公众号h5网站开发网络运维工程师的月薪有多少
  • 山东嘉邦家居用品公司网站 加盟做经销商多少钱 有人做过吗邯郸有没有专门做写字楼的网站
  • 网站被百度k关于网站建设的申请报告
  • 河池网站制作宁波网站推广在哪里
  • wordpress网站加载效果手机网站建设的行情
  • 一元购物网站建设中国建设银行网站个人
  • 网站app免费制作软件制作app软件要多少钱一个
  • 网站建设辶金手指排名十一seo教程资源
  • 周口市住房和城市建设局网站网站建设与营销经验
  • 用vs2012做网站案例国内做文玩的网站
  • 怎么创建公司网站做平面的就一定要做网站吗
  • 晋城北京网站建设做一个企业网站需要多长时间