[leetcode] 334. Increasing Triplet Subsequence
2016-07-03 07:31
525 查看
Given an unsorted array return whether an increasing subsequence of length 3 exists or not in the array.
Formally the function should:
Your algorithm should run in O(n) time complexity and O(1) space complexity.
Examples:
Given
return
Given
return
Solution:
这里只需求出BIS3即可。
1、找到最小的数min1, 其位置为k1.
2、找到第二小的数min2, 其位置为k2 > k1.
3、如果k3(k3>k2)位置的数n>min2, 找到递增三元组(min1, min2, n)
如果n<=min1, 更新min1=n和k1 = k3, 如果n<=min2, 更新k2和min2.
Formally the function should:
Return true if there exists i, j, k
such that arr[i] < arr[j] < arr[k] given 0 ≤ i < j < k ≤ n-1 else return false.
such that arr[i] < arr[j] < arr[k] given 0 ≤ i < j < k ≤ n-1 else return false.
Your algorithm should run in O(n) time complexity and O(1) space complexity.
Examples:
Given
[1, 2, 3, 4, 5],
return
true.
Given
[5, 4, 3, 2, 1],
return
false.
Solution:
这里只需求出BIS3即可。
1、找到最小的数min1, 其位置为k1.
2、找到第二小的数min2, 其位置为k2 > k1.
3、如果k3(k3>k2)位置的数n>min2, 找到递增三元组(min1, min2, n)
如果n<=min1, 更新min1=n和k1 = k3, 如果n<=min2, 更新k2和min2.
bool increasingTriplet(vector<int>& nums) { int min1 = INT_MAX, min2 = INT_MAX; for (int i = 0; i < nums.size(); i++) { if (nums[i] <= min1) min1 = nums[i]; else if (nums[i] <= min2) min2 = nums[i]; else return true; } return false; }
相关文章推荐
- ECIR 2016 Paper Modelling User Interest for Zero-query Ranking
- 687C: The values you can make
- Invalidate(TRUE)与Invalidate(FALSE)区别(前者会发送WM_ERASEBKGND消息全部刷新,然后使用WM_PAINT消息绘制,而后者只发送WM_PAINT消息)
- iOS开发之Socket通信实战--Request请求数据包编码模块
- P6 EPPM Installation and Configuration Guide 16 R1 April 2016
- requireJs 初探
- Java集合框架(下)之Map的containsKey()与containsValue()方法
- JNI/NDK develop guide(2) How JVM find native method
- 【UOJ #210】【UER #6】寻找罪犯 (2-SAT)
- 【UOJ #209】【UER #6】票数统计
- @RequestParam的作用
- PAT (Advanced Level) 1085. Perfect Sequence (25)
- iOS GPUImage之GPUImageMovie视频滤镜(1)
- 进程序名得到进程ID和句柄与进程的公司名(使用快照和GetPeFileCompany和VerQueryValueW等函数)
- ArrayDeque源码解析
- STL之优先级队列priority_queue
- WindowsBuilder控件中文编码问题
- PAT - 甲级 - 1007. Maximum Subsequence Sum (25)
- iOS开发~一个UIButton的小问题一定要小心
- iOS GPUImage之自定义滤镜