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

力扣每日一题-数位和相等数对的最大和-2023.11.18

    力扣每日一题:数位和相等数对的最大和

开篇

 这道每日一题还是挺需要思考的,我绕晕了好久,根据题解的提示才写出来。

题目链接: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;///返回最大值}
}

结语

 如果这道题的分享对你有帮助,点个关注,我会每天更新力扣题的讲解,与大家一起进步。

http://www.lryc.cn/news/235502.html

相关文章:

  • 【win32_001】win32命名规、缩写、窗口
  • 机器学习第8天:SVM分类
  • AI工具合集
  • 代码随想录算法训练营Day 54 || 392.判断子序列、115.不同的子序列
  • C 语言 gets()和puts()
  • 核—幂零分解
  • 轻松掌控财务,分析账户花销,明细记录支出情况
  • 竞赛 题目:基于机器视觉opencv的手势检测 手势识别 算法 - 深度学习 卷积神经网络 opencv python
  • 11. Spring源码篇之实例化前的后置处理器
  • Python-Python高阶技巧:HTTP协议、静态Web服务器程序开发、循环接收客户端的连接请求
  • P1304 哥德巴赫猜想
  • CSDN每日一题学习训练——Python版(搜索插入位置、最大子序和)
  • Java在物联网中的重要性
  • 动态规划解背包问题
  • PCL内置点云类型
  • clickhouse数据结构和常用数据操作
  • upload-labs关卡9(基于win特性data流绕过)通关思路
  • C++过河卒问题
  • 【机器学习12】集成学习
  • nodeJs基础笔记
  • Skywalking流程分析_9(JDK类库中增强流程)
  • 矩阵的QR分解
  • STL总结
  • 资深测试总结,现在软件测试有未来吗?“你“的底气在哪里?
  • Scalable Exact Inference in Multi-Output Gaussian Processes
  • sqli-labs(Less-3)
  • 集合框架面试题
  • 【LeetCode刷题日志】225.用队列实现栈
  • 【JavaScript】fetch 处理流式数据,实现类 chatgpt 对话
  • 收发电子邮件