数组中第三大的数:

class Solution {public int thirdMax(int[] nums) {int len = nums.length;int max = nums[0];int center = nums[0];int min = nums[0];int swp;int[] third = new int[3];int k= 0;boolean flag = false;for(int i=1;i<len;++i){if(nums[i]!=max&&!flag){center = nums[i];if(center>max){swp = max;max = center;center = swp;}flag = true;}else if(nums[i]!=max&&nums[i]!=center&&flag){min = nums[i];if(min>max){swp = max;max = min;min = center;center = swp;}else if(min>center){swp = center;center = min;min = swp;}else{}k = i+1;break;}else{}}if(k!=0){for(int i=k;i<len;++i){if(nums[i]<=min||nums[i]==center||nums[i]==max){}else if(nums[i]>max){swp = max;max = nums[i];min = center;center = swp;}else if(nums[i]>center){swp = center;center = nums[i];min = swp;}else{min = nums[i];}}return min;}else{return max;}}
}

转载于:https://www.cnblogs.com/erdanyang/p/11512216.html

数组中第三大的数 leetcode 414相关推荐

  1. LeetCode——寻找数组中第三大的数

    给定一个非空数组,返回此数组中第三大的数.如果不存在,则返回数组中最大的数.要求算法时间复杂度必须是O(n). 示例 1: 输入: [3, 2, 1] 输出: 1 解释: 第三大的数是 1. 示例 2 ...

  2. 每天一道LeetCode-----找到给定数组中第三大的值

    原题链接Third Maximum Number 要求找到给定数组中第三大的数.其中第一大的数,第二大的数,第三大的数互不相同,即严格的小于关系.并且规定时间复杂度是O(n).另外如果找不到第三大的数 ...

  3. C语言判断数组中是否存在该数

    C语言判断数组中是否存在该数 #include<stdio.h> int main() {int query(int a[10],int num);int num;printf(" ...

  4. numpy找到数组中符合条件的数

    numpy找到数组中符合条件的数 import numpy as nparr = np.array([1, 1, 1, 134, 45, 3, 46, 45, 65, 3, 23424, 234, 1 ...

  5. 算法---找到数组中第二大的数

    题目 找到无序数组中第二大的数 思路 我们可以用两个容器记录所有遍历过的元素中,第一大和第二大的数,在后续的遍历过程中,我们不断更新这两个值即可.时间复杂度O(n) 实现方法: public stat ...

  6. c++求数组中出现频率最高的数

    在C++中求数组中出现频率最高的数mode. 即:众数(Mode)统计学名词,在统计分布上具有明显集中趋势点的数值,代表数据的一般水平(众数可以不存在或多于一个). 修正定义:是一组数据中出现次数最多 ...

  7. 如何求数组中绝对值最小的数?

    """ 有一个升序排列的数组,数组中可能有正数,负数或0,求数组中元素的绝对值最小的数.例如,数组[-10,-5,-2,7,15,50],该数组中绝对值最小的数是2 &q ...

  8. java 算法之找出数组中第二大的数

    1.如果仅考虑实现功能而不考虑效率,可以先通过排序算法将数组排序,然后根据数组下标来访问数组中第二大的数,,最快的排序算法一般为快速排序算法,但是其时间复杂度为(nlogn),根据下标访问需要便利一遍 ...

  9. 删除重复的数字c语言,(C语言)删去一维数组中所有相同的数

    <(C语言)删去一维数组中所有相同的数>由会员分享,可在线阅读,更多相关<(C语言)删去一维数组中所有相同的数(2页珍藏版)>请在人人文库网上搜索. 1.1. 删去一维数组中所 ...

  10. 剑指offer刷题(java)|二维数组中的查找|替换空格|leetcode刷题

    文章目录 前言 一.二维数组中的查找 题目 题解一 题解二 题解三 二.替换空格 题目 题解一 题解二 题解三 前言 本文主要是写了我做算法题的思路以及对其他优秀题解的自我理解. 一.二维数组中的查找 ...

最新文章

  1. python3 字符串格式化
  2. SpringBoot图文教程9—SpringBoot 导入导出 Excel 「Apache Poi」(亲测)
  3. PHP水果店管理系统,水果店连锁店管理系统实现一体化功能
  4. Python的第三方库xlwt
  5. 两万字长文读懂 Java 集合!
  6. 用 Node.js 把玩一番 Alfred Workflow
  7. 十大java视频学习网站
  8. 如何使用bat批处理命令打开WSL
  9. (附源码)ssm牙科诊所预约网站 毕业设计 260952
  10. DP动态规划--乡村邮局问题-Post Office(POJ-1160)
  11. c语言中compar的用法,C/C++中关于std::string的compare陷阱示例详解
  12. Activity焦点
  13. qtxlsx读写 excel
  14. Cesium 加载地形数据
  15. 尽管凭借主持人的身份成名,张绍刚先生在内心深处却对这一角色认可度很低
  16. 计算机电源多低无法使用吗,怎么确定电脑电源供电不足?
  17. CentOS7 防火墙开放端口配置
  18. Linux系统安全加固指南(万字长文)
  19. STC12C5A60S2单片机-双串口通信
  20. 【Arduino实验05 基于环境光的LED灯亮度感应控制】

热门文章

  1. vscodehtml环境配置_从零开始配置 vscode
  2. SpringBoot + Eureka启动失败
  3. [渝粤教育] 中国地质大学 国际贸易理论 复习题
  4. 【RLchina第五讲】Control as Inference
  5. Lecture 1:强化学习简介
  6. 求解偏微分方程开源有限元软件deal.II学习--Step 1
  7. 001-开发环境及其基本常识
  8. Linux中脚本的使用方法
  9. .5-浅析express源码之Router模块(1)-默认中间件
  10. day17 10.jdbc的crud操作