[LeetCode]624. Maximum Distance in Arrays
来源:互联网 发布:淘宝大学开网店步骤 编辑:程序博客网 时间:2024/05/22 10:34
[LeetCode]624. Maximum Distance in Arrays
题目描述
思路
保存当前最大最小和第二大第二小的值
如果最大最小值在同一个数组里就返回max(最大 - 第二小, 第二大 - 最小)
更新当前最大最小和第二大第二小的过程
- 当更新最大最小值时,先将目前最大最小值保存到第二大第二小, 再更新
- 当无法更新最大最小值时,检查第二大第二小能否符合更新条件,更新条件除去更大更小之外也包括不能与当前最大最小相同
- 以上更新均更新下标,即第几个数组中获取到的最大最小值
代码
#include <iostream>#include <vector>#include <algorithm>using namespace std;class Solution {public: int maxDistance(vector<vector<int>>& arrays) { int curMin = 0, nextMin = 1, curMax = 0, nextMax = 1; for (int i = 0; i < arrays.size(); ++i) { if (arrays[i].front() < arrays[curMin].front()) { nextMin = curMin; curMin = i; } else if (arrays[i].front() <= arrays[nextMin].front() && i != curMin) { nextMin = i; } if (arrays[i].back() > arrays[curMax].back()) { nextMax = curMax; curMax = i; } else if (arrays[i].back() >= arrays[nextMax].back() && i != curMax) { nextMax = i; } } return curMin == curMax ? max(abs(arrays[nextMax].back() - arrays[curMin].front()), abs(arrays[curMax].back() - arrays[nextMin].front())) : abs(arrays[curMax].back() - arrays[curMin].front()); }};int main() { vector<vector<int>> arrays = { {-1, 1},{-3, 4}, {-2, 2} }; Solution s; cout << s.maxDistance(arrays) << endl; system("pause"); return 0;}
阅读全文
0 0
- leetcode-624. Maximum Distance in Arrays
- [leetcode]: 624. Maximum Distance in Arrays
- [LeetCode]624. Maximum Distance in Arrays
- [LeetCode]624. Maximum Distance in Arrays
- [LeetCode] 624.Maximum Distance in Arrays
- Python 刷题日记:LeetCode 624. Maximum Distance in Arrays
- Leetcode 624 Maximum Distance in Arrays
- leetcode624: Maximum Distance in Arrays
- leetcode624. Maximum Distance in Arrays
- 624.Maximum Distance in Arrays --找数组中的最大差值
- 624. Maximum Distance in Arrays 数组最大距离
- LeetCode-624:Maximum Distance in Arrays (多数组找元素最大距离)
- 566. Reshape the Matrix/624. Maximum Distance in Arrays/594. Longest Harmonious Subsequence
- Maximum Distance in Arrays (第十七周 数组)
- [LeetCode] Maximum Subarray、Edit Distance
- 【Leetcode】Maximum Subarray in JAVA
- LeetCode-Find Minimum in Rotated Sorted Arrays
- LeetCode Search in Rotated Sorted Arrays ||
- 重写equals()方法的同时要重写hashcode()方法
- 实现QNGAMEPartForm
- RelativeLayout的基本对齐方式
- Linux select、poll、epoll解析
- leetcode 18. 4Sum
- [LeetCode]624. Maximum Distance in Arrays
- BOOL类型
- 人性的弱点
- 【机器学习】局部加权线性回归
- SLAM资料 转载
- Java语言学习--Swing中Button事件监听
- 回溯法
- SlidingMenu在android studio中的使用
- DAY-1