(LeetCode 每日一题) 2294. 划分数组使最大差为 K (贪心、数组)

题目:2294. 划分数组使最大差为 K


思路:贪心+数组,升序排序。维护当前数组的最小值即可,时间复杂度0(nlogn)。

C++版本:

cpp 复制代码
class Solution {
public:
    int partitionArray(vector<int>& nums, int k) {
        int ans=0;
        sort(nums.begin(),nums.end());
        int right=INT_MIN/2;
        for(auto x:nums){
            if(x-right>k){
                ans++;
                right=x;
            }
        }
        return ans;
    }
};

JAVA版本:

java 复制代码
class Solution {
    public int partitionArray(int[] nums, int k) {
        int ans=0;
        Arrays.sort(nums);
        int right=Integer.MIN_VALUE/2;
        for(var x:nums){
            if(x-right>k){
                ans++;
                right=x;
            }
        }
        return ans;
    }
}

Go版本:

go 复制代码
func partitionArray(nums []int, k int) int {
    slices.Sort(nums)
    ans:=0
    left:=math.MinInt/2
    for _,x:=range nums {
        if x-left>k {
            ans++
            left=x
        }
    }
    return ans
}
相关推荐
背调合规知识库15 分钟前
数据授权中处理目的、方式与信息种类核验什么?方法、证据与误区
职场和发展
hetao17338371 小时前
2026-10-22~23 hetao1733837 的刷题记录
c++·算法
yuniko-n1 小时前
【JUC】volatile 非原子性深入解析
java
java_nnnn1 小时前
LeetCode刷题滑动窗口(串联所有单词的子串+最小覆盖的子串)Java
算法·leetcode·职场和发展
sun_weitao1 小时前
极简版 MCP 工具实现方案
java·linux·服务器
王老师青少年编程2 小时前
2025年6月GESP真题及题解(C++三级): 选择题和判断题(题解)
c++·真题·gesp·答案·csp·三级·信奥赛
Navigator_Z2 小时前
LeetCode //C - 1301. Number of Paths with Max Score
c语言·算法·leetcode
Interview Aid1122 小时前
Uber Interview Process 完整指南:面试流程、OA 真题与 VO 备考
面试·职场和发展
金銀銅鐵3 小时前
[Java] 展示增删元素时 LinkedList 的内部变化
java·后端·ai编程
卡卡~~3 小时前
“101计划”核心课程实践教材《数据实验结构指导-C++语言版》题目集
开发语言·c++·学习·算法