1. 题意
将一个集合 A A A划分成两个集合 B C B\ C B C,使得
v
=
max
{
∣
min
x
∈
B
x
−
min
y
∈
C
y
∣
,
∣
min
x
∈
C
x
−
min
y
∈
B
y
∣
}
v =\max \{| \min_{x\in B}\ x -\min_{y \in C}y|,| \min_{x\in C}\ x -\min_{y \in B}y| \}
v=max{∣x∈Bmin x−y∈Cminy∣,∣x∈Cmin x−y∈Bminy∣}
求
v
v
v
2. 题解
排序,求相邻元素差值的最小值。
class Solution {
public:
int findValueOfPartition(vector<int>& nums) {
sort(nums.begin(), nums.end());
int sz = static_cast<int>( nums.size() );
int ans = 0x3f3f3f3f;
for (int i = 1;i < sz; ++i) {
ans = min(nums[i] - nums[i - 1], ans);
}
return ans;
}
};