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

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.xdnf.cn/news/4085.html

相关文章:

  • [Linux_69] 数据链路层 | Mac帧格式 | 局域网转发 | MTU MSS
  • 虚标的WIFI连接速度
  • n8n系列(1)初识n8n:工作流自动化平台概述
  • 第二章 Logback的架构(二)
  • RabbitMQ ①-MQ | Linux安装RabbitMQ | 快速上手
  • 游戏引擎学习第261天:切换到静态帧数组
  • (提升)媒体投稿技能
  • 机器学习 day6 -线性回归练习
  • 云计算与大数据进阶 | 21、可扩展系统构建
  • PyTorch 与 TensorFlow 中基于自定义层的 DNN 实现对比
  • 应用服务器Tomcat
  • ImageView显示圆角图片的一种方式
  • 【免费试用】LattePanda Mu x86 计算模块套件,专为嵌入式开发、边缘计算与 AI 模型部署设计
  • javascript:void(0) 是一个常见的 JavaScript 伪协议
  • AI日报 · 2025年5月06日|Anthropic 启动 AI for Science 项目
  • React 中集成 Ant Design 组件库:提升开发效率与用户体验
  • 【HFP】蓝牙语音通信高级功能解析:快速拨号与呼叫等待协议实现
  • 1、Kafka与消息队列核心原理详解
  • 当K8S容器没有bash时7种高阶排查手段
  • HTTP与HTTPS协议深入解析
  • Relay算子注册
  • 应急响应靶场web1:知攻善防实验室
  • 【AI】基于生活案例的LLM强化学习(入门帖)
  • 宏电全新升级单北斗5G电力DTU,为每一公里电力线路注入可靠连接
  • C++ 渗透 数据结构中的二叉搜索树
  • Linux内核视角:线程同步与互斥的原理、实现与锁优化策略
  • redis大全
  • 【Linux】进程地址空间
  • 【计网】ipconfig、ping、arp、tracert
  • 自定义一个 Spring Boot Starter -笔记