贪心
文章平均质量分 72
Rocoberry_团子
慢慢来慢慢来
展开
-
69 划分字母区间
划分结果为 “ababcbaca”、“defegde”、“hijhklij”。每次都在找当前字符所在的最大下标k,可以保证该片段的最小长度n>k-begin。我们要把这个字符串划分为尽可能多的片段,同一字母最多出现在一个片段中。注意,划分结果需要满足:将所有划分结果按顺序连接,得到的字符串仍然是。每个字母最多出现在一个片段中。返回一个表示每个字符串片段的。输出:[9,7,8]原创 2023-10-26 11:59:41 · 84 阅读 · 0 评论 -
68 买卖股票的最佳时机
解释:在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = 5。买入这只股票,并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利润。注意利润不能是 7-1 = 6, 因为卖出价格需要大于买入价格;同时,你不能在买入前卖出股票。返回你可以从这笔交易中获取的最大利润。如果你不能获取任何利润,返回 0。解释:在这种情况下, 没有交易完成, 所以最大利润为 0。表示一支给定股票第 i 天的价格。原创 2023-10-25 11:38:18 · 88 阅读 · 0 评论 -
67 跳跃游戏 II
直观上来看,我们可以「贪心」地选择距离最后一个位置最远的那个位置,也就是对应下标最小的那个位置。从下标为 0 跳到下标为 1 的位置,跳 1 步,然后跳 3 步到达数组的最后一个位置。如果有多个位置通过跳跃都能够到达最后一个位置,那么我们应该如何进行选择呢?因此,我们可以从左到右遍历数组,选择第一个满足要求的位置。解释: 跳到最后一个位置的最小跳跃数是 2。向前跳转的最大长度。处,你可以跳转到任意。原创 2023-10-25 11:05:59 · 135 阅读 · 0 评论 -
66 跳跃游戏
解释:无论怎样,总会到达下标为 3 的位置。但该下标的最大跳跃长度是 0 , 所以永远不可能到达最后一个下标。解释:可以先跳 1 步,从下标 0 到达下标 1, 然后再从下标 1 跳 3 步到达最后一个下标。数组中的每个元素代表你在该位置可以跳跃的最大长度。判断你是否能够到达最后一个下标,如果可以,返回。给你一个非负整数数组。原创 2023-10-25 11:05:13 · 353 阅读 · 1 评论 -
57 最长递增子序列
只增加(add)和替换(swap),因此完成遍历后S的长度一定等于LIS的长度,部分元素可能被你替换掉了,所以在整个遍历过程中,这个集合S可能并不是LIS本身,尽管如此,LIS的元素一定曾出现在S中(但可能在遍历过程中被swap覆盖掉了)是由数组派生而来的序列,删除(或不删除)数组中的元素而不改变其余元素的顺序。例如,[3,6,2,7] 是数组 [0,3,1,6,2,2,7] 的子序列。解释:最长递增子序列是 [2,3,7,101],因此长度为 4。原创 2023-10-17 17:19:15 · 117 阅读 · 0 评论 -
14 合并区间
表示若干个区间的集合,其中单个区间为。,该数组需恰好覆盖输入中的所有区间。请你合并所有重叠的区间,并返回。原创 2023-09-07 11:50:04 · 84 阅读 · 0 评论