郑州网站制作选择乐云seo,wordpress groupon,网站排名seo培训,郑州网站建设招聘力扣每日一题#xff1a;数位和相等数对的最大和
开篇 这道每日一题还是挺需要思考的#xff0c;我绕晕了好久#xff0c;根据题解的提示才写出来。
题目链接:2342.数位和相等数对的最大和
题目描述 代码思路
1.创建一个数组存储每个数位的数的最大值#xff0c;创建一… 力扣每日一题数位和相等数对的最大和
开篇 这道每日一题还是挺需要思考的我绕晕了好久根据题解的提示才写出来。
题目链接:2342.数位和相等数对的最大和
题目描述 代码思路
1.创建一个数组存储每个数位的数的最大值创建一个数存储相加最大值 2.循环遍历每个原数组元素进行判断先算出其数位如果之前已有该数位的数则进行相加并与增强相加的最大值进行比较判断是否需要进行修改 3.把存储数位的数组更新
代码纯享版
class Solution {public int maximumSum(int[] nums) {int[] maxnum new int[82];int max -1;for(int i: nums){int num 0;int j i;while(j 0){num j % 10;j / 10;}if(a[num] 0){max Math.max(max, maxnum[num] i);}maxnum[num] Math.max(i, maxnum[num]);}return max;}
}代码逐行解析版
class Solution {public int maximumSum(int[] nums) {int[] maxnum new int[82]; //题目中nums[i]的最大值10^9的数位为81int max -1; //统计最大值for(int i: nums){int num 0; //i的数位int j i; while(j 0){ //i的数位通过下面while循环取出其数位num j % 10;j / 10;}if(a[num] 0){ //a[num]0说明之前已经有这个数位的数存在且是这个数位的最大值max Math.max(max, maxnum[num] i); //更新最大值}maxnum[num] Math.max(i, maxnum[num]); //更新这个数位}return max;///返回最大值}
}结语 如果这道题的分享对你有帮助点个关注我会每天更新力扣题的讲解与大家一起进步。