当前位置: 首页 > 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];

    }

}

相关文章:

  • 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 常用方法函数和应用实例
  • 深圳一购房者交首付后迟迟无法签合同,澎湃介入后开发商承诺退款
  • 十大券商看后市|A股风险偏好有回升空间,把握做多窗口
  • 山大齐鲁医院通报“子宫肌瘤论文现男性患者”:存在学术不端
  • 降雪致长白山天池景区关闭,有游客在户外等待一小时,景区回应
  • 言短意长|如何看待“订不到酒店的游客住进局长家”这件事
  • 民族音乐还能这样玩!这场音乐会由AI作曲