leetcode414. Third Maximum Number
来源:互联网 发布:mac windows 文件系统 编辑:程序博客网 时间:2024/05/31 18:34
题目
easy程度题
Given a non-empty array of integers, return the third maximum number in this array. If it does not exist, return the maximum number. The time complexity must be in O(n).
Example 1:
Input: [3, 2, 1]Output: 1Explanation: The third maximum is 1.
Example 2:
Input: [1, 2]Output: 2Explanation: The third maximum does not exist, so the maximum (2) is returned instead.
Example 3:
Input: [2, 2, 3, 1]Output: 1Explanation: Note that the third maximum here means the third maximum distinct number.Both numbers with value 2 are both considered as second maximum.
第一次做题,一个easy的题都写了一个多小时- -!
我的代码,先来个选择排序,然后,if,if,if- -
class Solution{public: int thirdMax(vector<int>& a) { int n=a.size(); if(n==1) return a[0]; if(n==2) return a[0]>=a[1]?a[0]:a[1]; bool sorted= false; for(int size=n;(!sorted)&&(size>1);size--) { sorted=true; int indexOfMax=0; for(int i=1;i<size;i++) if(a[indexOfMax]<=a[i]) indexOfMax=i; else sorted=false; exchange(a[indexOfMax],a[size-1]); } int p=0,j,result; for(j=n-1;j>0;j--) { if(a[j]>a[j-1]) ++p; if(p==2) { result=a[j-1]; break; } if(j==1&&p==1) { result=a[n-1]; break; } if(j==1&&p==0) { result=a[n-1]; break; } } return result; } void exchange(int &a, int &b) { int temp=a; a=b; b=temp; }};
高手写的代码
public class Solution { public int thirdMax(int[] nums) { long first, second, third; first = second = third = Long.MIN_VALUE; for (int num : nums) { if (num == first || num == second || num == third) continue; if (num > first) { third = second; second = first; first = num; } else if (num > second) { third = second; second = num; } else if (num > third) third = num; } return (third == Long.MIN_VALUE) ? (int)first : (int)third; } }
哎,还是太年轻了!
0 0
- Leetcode414. Third Maximum Number
- leetcode414. Third Maximum Number
- LeetCode414 Third Maximum Number
- leetcode414: Third Maximum Number
- Leetcode414. Third Maximum Number
- leetcode414~Third Maximum Number
- leetcode414. Third Maximum Number
- LeetCode414——Third Maximum Number
- 414. Third Maximum Number
- LeetCode Third Maximum Number
- 414. Third Maximum Number
- 414. Third Maximum Number
- LeetCode-Third Maximum Number
- 414. Third Maximum Number
- 414. Third Maximum Number
- Third Maximum Number
- 414. Third Maximum Number
- 414. Third Maximum Number
- 线性基 bzoj2115 [Wc2011] Xor
- laravel5中添加自定义函数
- IntelliJ Idea For Mac 快捷键
- [Lintcode]Minimum Window Substring
- 给定二维数组在m+1次比较次数内找到所查找的数所在位置
- leetcode414. Third Maximum Number
- 【PHP】冒泡排序法排序
- MongoDB添加用户验证,设置用户名和密码
- c++
- Objective-C编码规范
- Java基础知识总结(绝对经典)
- Java 正则表达式
- netty框架学习之初始篇---多客户端的实现
- CoordinatorLayout使用详解