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

LintCode407-加一,LintCode第479题-数组第二大数

第407题:

描述

给定一个非负数,表示一个数字数组,在该数的基础上+1,返回一个新的数组。

该数字按照数位高低进行排列,最高位的数在列表的最前面.

样例 1:

输入:[1,2,3]
输出:[1,2,4]

样例 2:

输入:[9,9,9]
输出:[1,0,0,0]

注意事项:如果此题使用Integer,那么会造成整数溢出越界问题 

代码如下:

import java.math.BigInteger;

public class Solution {

    /**

     * @param digits: a number represented as an array of digits

     * @return: the result

     */

    public int[] plusOne(int[] digits) {

        // write your code here

        StringBuffer stringBuffer=new StringBuffer();

        for(int i=0;i<digits.length;i++)

        {

            stringBuffer.append(digits[i]+"");

        }

        BigInteger  bigIntegerValue=new BigInteger(stringBuffer.toString());

        BigInteger  goalValue=bigIntegerValue.add(BigInteger.ONE);//BigInteger.valueOf(任意整数)放在bigIntegerValue.add()方法里里面 表示加上任意一个数

        String goalStr=goalValue+"";

        int[] digitArray = new int[goalStr.length()];

        for(int i=0;i<goalStr.length();i++)

        {

            digitArray[i]=goalStr.charAt(i)- '0';

        }

        return digitArray;

    }

}

第479题:

Arrays.sort() 是用于排序数组(如 int[], Integer[], String[]

Collections.sort(list); // 默认升序
list.sort(Comparator.reverseOrder()); // 倒序排序

List 是Collections.sort(list) / list.sort()
Set转为 List 后排序,再转回 LinkedHashSet
Queue 否转为 List 后排序,再重建队列
Stack转为 List 后排序,再放回栈
MapentrySet().stream().sorted() 排序

描述

在数组中找到第二大的数.

例1:

输入:[1,3,2,4]
输出:3

例2:

输入:[1,1,2,2]
输出:2

 代码如下:

public class Solution {

    /**

     * @param nums: An integer array

     * @return: The second max number in the array.

     */

    public int secondMax(int[] nums) {

        //如果是Integer数组 可以用Arrays.sort(boxed, Comparator.reverseOrder());直接进行倒序操作 因为默认为升序

        //如果为int[]可以可以先进行包装

        //第一种方法

        Integer[] boxedNumber = Arrays.stream(nums).boxed().toArray(Integer[]::new);

        Arrays.sort(boxedNumber, Comparator.reverseOrder());

        // write your code here

        return boxedNumber[1];

        //第二种方法

        Arrays.sort(nums);

        return nums[nums.length-2];

    }

}

http://www.dtcms.com/a/173626.html

相关文章:

  • MySQL - 事务
  • 5.2创新架构
  • 浔川AI 第二次内测报告
  • 浅析MySQL 的 **触发器(Trigger)** 和 **存储过程(Stored Procedure)原理及优化建议
  • c++学习合集(2025-4-29)
  • 基于Anaconda的Pycharm环境配置
  • 使用图像生成式AI和主题社区网站助力运动和时尚品牌的新产品设计和市场推广的点子和实现
  • 20250506让NanoPi NEO core开发板使用Ubuntu core16.04系统的TF卡启动
  • 中达瑞和便携式高光谱相机:珠宝鉴定领域的“光谱之眼”
  • 车载通信网络安全:挑战与解决方案
  • 【表设计】外键的取舍-分布式中逐渐消失的外键
  • 【十五】Mybatis动态SQL实现原理
  • 在Unity AR应用中实现摄像头切换功能
  • 2025年服务器技术全景解析:量子计算、液冷革命与未来生态构建
  • 基于图像处理的道路监控与路面障碍检测系统设计与实现 (源码+定制+开发) 图像处理 计算机视觉 道路监控系统 视频帧分析 道路安全监控 城市道路管理
  • HTTP请求与前端资源未优化的系统性风险与高性能优化方案
  • Java高频面试之并发编程-12
  • 论文速读:《CoM:从多模态人类视频中学习机器人操作,助力视觉语言模型推理与执行》
  • element-ui日期时间选择器禁止输入日期
  • css filter 常用方法函数和应用实例
  • Android SDK 国内镜像及配置方法(2025最新,包好使!)
  • vue3+ts继续学习
  • 【自然语言处理与大模型】LlamaIndex的词嵌入模型和向量数据库
  • laravel 12 监听syslog消息,并将消息格式化后存入mongodb
  • CVE-2025-24813:Apache Tomcat RCE 漏洞分析
  • CyberSentinel AI开源程序 是一个自动化安全监控与AI分析系统
  • Tomcat中Web应用程序停止时为了防止内存泄漏,JDBC驱动程序被强制取消注册出现原因
  • 【落羽的落羽 C++】list及其模拟实现
  • 某公园楼栋自由曲面薄壳结构自动化监测
  • 薪技术|0到1学会性能测试第45课-apache调优技术