企业网站跟微信支付怎么做,福建手工外发加工网,镇江市建设工程安全监督站网站,网站建设国外给你一个整数数组 nums #xff0c;数组中的元素都是 正 整数。定义一个加密函数 encrypt #xff0c;encrypt(x) 将一个整数 x 中 每一个 数位都用 x 中的 最大 数位替换。比方说 encrypt(523) 555 且 encrypt(213) 333 。
请你返回数组中所有元素加密后的 和 。 示例 1数组中的元素都是 正 整数。定义一个加密函数 encrypt encrypt(x) 将一个整数 x 中 每一个 数位都用 x 中的 最大 数位替换。比方说 encrypt(523) 555 且 encrypt(213) 333 。
请你返回数组中所有元素加密后的 和 。 示例 1
输入nums [1,2,3]
输出6
解释加密后的元素位 [1,2,3] 。加密元素的和为 1 2 3 6 。
示例 2
输入nums [10,21,31]
输出66
解释加密后的元素为 [11,22,33] 。加密元素的和为 11 22 33 66 。 提示
1 nums.length 501 nums[i] 1000 思路这道题直观的思路就是进行模拟对数组中的某个整数求出他的最大数位然后转化成一个新的整数最后求和思路不难但上手写了发现好麻烦需要知道这个整数有几位然后找到最大数位最后更新这个数。 翻看题解时发现了一种很简便的做法就是把数组中的每个元素转换成字符串然后用字符串的max直接就可以得到这个整数中的最大数位然后字符串的乘操作就是得到多个相同的字符a*5就是‘aaaaa,那就很方便地完成了将一个整数 x 中 每一个 数位都用 x 中的 最大 数位替换这个要求最后将其转换成int类型进行累加得到结果即可。 代码(Python): class Solution(object):def sumOfEncryptedInt(self, nums):result 0for i,num in enumerate(nums):temp str(num)maxNum max(temp)result int(maxNum * len(temp))return result