#力扣 LeetCode414. 第三大的数 @FDDLC
发布日期:2021-06-30 21:01:39
浏览次数:2
分类:技术文章
本文共 2142 字,大约阅读时间需要 7 分钟。
题目描述:
Java代码:
class Solution { //给定一个非空数组,返回此数组中第三大的数。如果不存在,则返回数组中最大的数。 public int thirdMax(int[] nums) { //要求算法时间复杂度必须是O(n)。 int $1=nums[0],$2=0,$3=0; //$2,$3初始值随意 boolean exist$2=false,exist$3=false; for(int num:nums){ if(num>$1){ if(exist$2){ $3=$2; exist$3=true; } $2=$1; exist$2=true; $1=num; }else if(num<$1){ if(exist$2){ if(num>$2){ $3=$2; exist$3=true; $2=num; } else if(num<$2){ if(exist$3){ if(num>$3)$3=num; } else{ $3=num; exist$3=true; } } }else{ $2=num; exist$2=true; } } } return exist$3?$3:$1; }}
Java代码二:
class Solution { public int thirdMax(int[] nums) { long a=Long.MIN_VALUE,b=Long.MIN_VALUE,c=Long.MIN_VALUE; //a最大 for(int num:nums){ if(num>a){ c=b; b=a; a=num; }else if(num b){ c=b; b=num; }else if(num c)c=num; } } return c==Long.MIN_VALUE?(int)a:(int)c; }}
Java代码三:
import java.util.Collections;import java.util.LinkedList;class Solution { public int thirdMax(int[] nums) { LinkedListlist=new LinkedList<>(); Collections.addAll(list,Long.MIN_VALUE,Long.MIN_VALUE,Long.MIN_VALUE); for(int num:nums){ if(num>list.get(0))list.add(0,(long)num); else if(num list.get(1))list.add(1,(long)num); else if(num list.get(2))list.add(2,(long)num); } } return list.get(2)==Long.MIN_VALUE?(int)(long)list.get(0):(int)(long)list.get(2); }}
转载地址:https://liuxingchang.blog.csdn.net/article/details/112055699 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
哈哈,博客排版真的漂亮呢~
[***.90.31.176]2024年05月02日 22时58分25秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
WebService的简单案例记录(Java)
2019-04-30
Html利用PHP与MySQL交互
2019-04-30
dos简单命令
2019-04-30
mysql的安装与卸载与Navicat远程连接
2019-04-30
java实现稀疏数组及将稀疏数组存入硬盘中
2019-04-30
2021-05-18
2019-04-30
Flutter 使用插件打开相册、相机
2019-04-30
libuv实现tcp代理服务器
2019-04-30
libuv使用不当导致的内存泄漏
2019-04-30
libuv实现ping包发送和接收
2019-04-30
基础架构系列篇-CENTOS7安装NGINX
2019-04-30
基础架构系列篇-系统centos7安装docker+COMPOSE
2019-04-30
基础架构系列篇-系统centos7中docker安装rabbitmq
2019-04-30
基础架构系列篇-NGINX部署VUE
2019-04-30
个人电商项目,基于uni-app+ springcloud +VUE技术
2019-04-30
基础架构系列篇-系统centos7安装kafka
2019-04-30
基础架构系列篇-系统centos7中docker安装分布式文件存储服务minio
2019-04-30
知识点记录-java判断系统是linux或windows
2019-04-30
知识点记录-springboot静态资源映射路径
2019-04-30
微服务springcloud2系列篇-配置与注册nacos组件
2019-04-30