LeetCode #435:Non-overlapping Intervals(无重叠区间) 题目描述 由于本题只要求 “需要移除区间的最小数量”,所以不需要模拟区间被删除的过程。同时本题如果要直接统计重叠区间也不是很方便,我们将问题转化为先求这些区间中非重叠的区间,再用区间总数减去非重叠区间的个数得到答案。 阅读全文
LeetCode #135:Candy Distribution(分发糖果) 题目描述 本题需要把整个问题一分为二去看。先确定右边孩子的评分大于左边的情况,即顺序遍历 ratings 数组,只要右边孩子的评分比左边大,右边孩子就多一个糖果(局部最优),从而使得相邻的孩子中,评分高的右孩子都能相对左孩子多获得一颗糖;同理再倒序遍历 ratings 数组,使得左边孩子的评分高于右边孩子时,多给一颗糖。 阅读全文
LeetCode #134:Gas Station(加油站) 题目描述 本题最直观的方法是暴力枚举每个加油站为起点的情况、每个点绕一圈,那么时间复杂度为 O(n2),会超时。此时我们需要用贪心的思想来优化它。 阅读全文
LeetCode #45:Jump Game II(跳跃游戏II) 题目描述 本题的思路与 #55 类似,也是需要选择最远的跳跃长度,区别是本题一定能跳到最后。我们设置变量 curCover,代表当前跳跃轮次可以跳到的范围 [0...curCover];设置变量 nextCover,代表下一轮次可以跳到的范围 [0...nextCover],在范围 [0...curCover] 中尝试找出 nextCover 的最大值。 阅读全文