怎么找网站的根目录,佛山网红打卡地,18款黄金软件,常州微信网站建设平台文章目录 刷题前唠嗑题目#xff1a;数位和相等数对的最大和题目描述代码与解题思路思考解法偷看大佬题解结语 刷题前唠嗑 LeetCode? 启动#xff01;#xff01;#xff01;
本月已经过半了#xff0c;每日一题的全勤近在咫尺~
题目#xff1a;数位和相等数对的最大和… 文章目录 刷题前唠嗑题目数位和相等数对的最大和题目描述代码与解题思路思考解法偷看大佬题解结语 刷题前唠嗑 LeetCode? 启动
本月已经过半了每日一题的全勤近在咫尺~
题目数位和相等数对的最大和
题目链接2342. 数位和相等数对的最大和
题目描述 代码与解题思路
看到这道题目你难道能忍的住吗我已经手痒难耐了暴力启动
func maximumSum(nums []int) int {if len(nums) 2 {return -1}ans : -1for right : 1 ; right len(nums); right {for left : 0 ;left right; left {if isSame(nums, left, right) {ans max(ans, nums[left]nums[right])}}}return ans
}func isSame(nums []int, left, right int) bool {l, r : nums[left], nums[right]suml, sumr : 0, 0for l 0 {suml l%10l / 10}for r 0 {sumr r%10r / 10}if suml sumr {return true}return false
}
。。。标准结局熟悉的感觉 思考解法
可以用哈希的思想来做这个月做了不少类似的题目因为他的数大小范围是10 的九次方也就是最多只有 81 中数位我们可以用哈希映射遍历一遍整个数组将每对数位的最大值求出来
然后再求出他们之间的最大值即可其实这算是暴力解法啦
偷看大佬题解
func maximumSum(nums []int) int {val, ans : make([]int, 100), -1for _, v : range nums {t, cur : v, 0for t 0 {cur t%10t / 10}if val[cur] ! 0 {ans max(ans, val[cur]v)}val[cur] max(val[cur], v)}return ans
}一次遍历就搞定了太妙了代码很好理解我就不解释了才不是我不知道怎么解释呢哼
结语
今天没啥想说的