一、题目描述
在一条环路上有n
个加油站,其中第i
个加油站有汽油gas[i]
升。
你有一辆油箱容量无限的的汽车,从第i
个加油站开往第i+1
个加油站需要消耗汽油cost[i]
升。你从其中的一个加油站出发,开始时油箱为空。
给定两个整数数组gas
和cost
,如果你可以按顺序绕环路行驶一周,则返回出发时加油站的编号,否则返回-1
。如果存在解,则保证它是唯一的。
在一条环路上有n
个加油站,其中第i
个加油站有汽油gas[i]
升。
你有一辆油箱容量无限的的汽车,从第i
个加油站开往第i+1
个加油站需要消耗汽油cost[i]
升。你从其中的一个加油站出发,开始时油箱为空。
给定两个整数数组gas
和cost
,如果你可以按顺序绕环路行驶一周,则返回出发时加油站的编号,否则返回-1
。如果存在解,则保证它是唯一的。
给你一个字符串 s 。我们要把这个字符串划分为尽可能多的片段,同一字母最多出现在一个片段中。
注意,划分结果需要满足:将所有划分结果按顺序连接,得到的字符串仍然是 s 。
返回一个表示每个字符串片段的长度的列表。
示例 1
输入: s = "ababcbacadefegdehijhklij"
输出: [9, 7, 8]
解释:
划分结果为"ababcbaca"
、"defegde"
、"hijhklij"
。
每个字母最多出现在一个片段中。
像"ababcbacadefegde"
, "hijhklij"
这样的划分是错误的,因为划分的片段数较少。
给定一个区间的集合intervals
,其中intervals[i] = [starti, endi]
。返回需要移除区间的最小数量,使剩余区间互不重叠。
示例 1
输入: intervals = [[1, 2], [2, 3], [3, 4], [1, 3]]
输出: 1
解释: 移除[1, 3]
后,剩下的区间没有重叠。
示例 2
输入: intervals = [[1, 2], [1, 2], [1, 2]]
输出: 2
解释: 你需要移除两个[1, 2]
来使剩下的区间没有重叠。
有一些球形气球贴在一堵用XY
平面表示的墙面上。墙面上的气球记录在整数数组points
,其中points[i] = [xstart, xend]
表示水平直径在xstart
和xend
之间的气球。你不知道气球的确切y
坐标。
一支弓箭可以沿着x
轴从不同点完全垂直地射出。在坐标x
处射出一支箭,若有一个气球的直径的开始和结束坐标为xstart
,xend
,且满足xstart ≤ x ≤ xend
,则该气球会被引爆。可以射出的弓箭的数量没有限制。弓箭一旦被射出之后,可以无限地前进。
给定一个长度为n
的0
索引整数数组nums
。初始位置为nums[0]
。
每个元素nums[i]
表示从索引i
向前跳转的最大长度。换句话说,如果你在nums[i]
处,你可以跳转到任意nums[i + j]
处:
0 <= j <= nums[i]
i + j < n
给你一个非负整数数组nums
,你最初位于数组的第一个下标。数组中的每个元素代表你在该位置可以跳跃的最大长度。
判断你是否能够到达最后一个下标,如果可以,返回true
;否则,返回false
。
示例 1
输入: nums = [2, 3, 1, 1, 4]
输出: true
解释: 可以先跳1
步,从下标0
到达下标1
, 然后再从下标1
跳3
步到达最后一个下标。
n
个孩子站成一排。给你一个整数数组ratings
表示每个孩子的评分。
你需要按照以下要求,给这些孩子分发糖果:
1
个糖果。请你给每个孩子分发糖果,计算并返回需要准备的最少糖果数目。
示例 1
输入: ratings = [1, 0, 2]
输出: 5
解释: 你可以分别给第一个、第二个、第三个孩子分发2、1、2
颗糖果。
给定一个整数数组prices
,其中prices[i]
表示第i
天的股票价格;整数fee
代表了交易股票的手续费用。
你可以无限次地完成交易,但是你每笔交易都需要付手续费。如果你已经购买了一个股票,在卖出它之前你就不能再继续购买股票了。
返回获得利润的最大值。
注意: 这里的一笔交易指买入持有并卖出股票的整个过程,每笔交易你只需要为支付一次手续费。
示例 1
输入: prices = [1, 3, 2, 8, 4, 9], fee = 2
输出: 8
解释: 能够达到的最大利润:
在此处买入prices[0] = 1
在此处卖出prices[3] = 8
在此处买入prices[4] = 4
在此处卖出prices[5] = 9
总利润: ((8 - 1) - 2) + ((9 - 4) - 2) = 8
给你一个整数数组prices
,其中prices[i]
表示某支股票第i
天的价格。
在每一天,你可以决定是否购买和/或出售股票。你在任何时候最多只能持有一股股票。你也可以先购买,然后在同一天出售。
返回你能获得的最大利润。
示例 1
输入: prices = [7, 1, 5, 3, 6, 4]
输出: 7
解释: 在第2
天(股票价格 = 1)的时候买入,在第3
天(股票价格 = 5)的时候卖出,这笔交易所能获得利润 = 5 - 1 = 4
。随后,在第4
天(股票价格 = 3)的时候买入,在第5
天(股票价格 = 6)的时候卖出, 这笔交易所能获得利润 = 6 - 3 = 3
。总利润为4 + 3 = 7
。
当且仅当每个相邻位数上的数字x
和y
满足x <= y
时,我们称这个整数是单调递增的。
给定一个整数n
,返回小于或等于n
的最大数字,且数字呈单调递增。
示例 1
输入: n = 10
输出: 9
示例 2
输入: n = 1234
输出: 1234