20250619 finished.

This commit is contained in:
jackfiled 2025-06-19 15:46:08 +08:00
parent f438304378
commit b3dba32504
Signed by: jackfiled
GPG Key ID: DEF448811AE0286D

View File

@ -0,0 +1,50 @@
/**
* [2294] Partition Array Such That Maximum Difference Is K
*/
#include <bits/stdc++.h>
#include <gtest/gtest.h>
using namespace std;
// submission codes start here
class Solution
{
public:
int partitionArray(vector<int> &nums, int k)
{
ranges::sort(nums);
// At least to split into one segment.
int result = 1;
int pos = 1;
int minValue = nums[0];
while (pos < nums.size())
{
if (nums[pos] > minValue + k)
{
result += 1;
minValue = nums[pos];
}
else
{
pos += 1;
}
}
return result;
}
};
// submission codes end
TEST(P2294, Test1)
{
vector nums1 = {3, 6, 1, 2, 5};
ASSERT_EQ(2, Solution().partitionArray(nums1, 2));
vector nums2 = {1, 2, 3};
ASSERT_EQ(2, Solution().partitionArray(nums2, 1));
vector nums3 = {2, 2, 4, 5};
ASSERT_EQ(3, Solution().partitionArray(nums3, 0));
}