一、题目描述
给你一个整数数组cost
,其中cost[i]
是从楼梯第i
个台阶向上爬需要支付的费用。一旦你支付此费用,即可选择向上爬一个或者两个台阶。
你可以选择从下标为0
或下标为1
的台阶开始爬楼梯。
请你计算并返回达到楼梯顶部的最低花费。
示例 1
输入: cost = [10, 15, 20]
输出: 15
解释: 你将从下标为1
的台阶开始。
给你一个整数数组cost
,其中cost[i]
是从楼梯第i
个台阶向上爬需要支付的费用。一旦你支付此费用,即可选择向上爬一个或者两个台阶。
你可以选择从下标为0
或下标为1
的台阶开始爬楼梯。
请你计算并返回达到楼梯顶部的最低花费。
示例 1
输入: cost = [10, 15, 20]
输出: 15
解释: 你将从下标为1
的台阶开始。
泰波那契序列Tn
定义如下:
T0 = 0, T1 = 1, T2 = 1, 且在 n >= 0 的条件下 Tn+3 = Tn + Tn+1 + Tn+2
给你整数n
,请返回第n
个泰波那契数Tn
的值。
示例 1
输入: n = 4
输出: 4
解释:
T_3 = 0 + 1 + 1 = 2
T_4 = 1 + 1 + 2 = 4
示例 2
输入: n = 25
输出: 1389537
假设你正在爬楼梯。需要n
阶你才能到达楼顶。
每次你可以爬1
或2
个台阶。你有多少种不同的方法可以爬到楼顶呢?
示例 1
输入: n = 2
输出: 2
解释: 有两种方法可以爬到楼顶。
示例 2
输入: n = 3
输出: 3
解释: 有三种方法可以爬到楼顶。
斐波那契数(通常用F(n)
表示)形成的序列称为斐波那契数列。该数列由0
和1
开始,后面的每一项数字都是前面两项数字的和。也就是:
给定n
,请计算F(n)
。
示例 1
输入: n = 2
输出: 1
解释: F(2) = F(1) + F(0) = 1 + 0 = 1
在柠檬水摊上,每一杯柠檬水的售价为5
美元。顾客排队购买你的产品,(按账单bills
支付的顺序)一次购买一杯。
每位顾客只买一杯柠檬水,然后向你付5
美元、10
美元或20
美元。你必须给每个顾客正确找零,也就是说净交易是每位顾客向你支付5
美元。
注意,一开始你手头没有任何零钱。
给你一个整数数组bills
,其中bills[i]
是第i
位顾客付的账。如果你能给每位顾客正确找零,返回true
,否则返回false
。
给你一个整数数组nums
和一个整数k
,按以下方法修改该数组:
i
并将nums[i]
替换为-nums[i]
。重复这个过程恰好k
次。可以多次选择同一个下标i
。
以这种方式修改数组后,返回数组可能的最大和。
示例 1
输入: nums = [4, 2, 3], k = 1
输出: 5
解释: 选择下标1
,nums
变为[4, -2, 3]
。
假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。
对每个孩子i
,都有一个胃口值g[i]
,这是能让孩子们满足胃口的饼干的最小尺寸;并且每块饼干j
,都有一个尺寸s[j]
。如果s[j] >= g[i]
,我们可以将这个饼干j
分配给孩子i
,这个孩子会得到满足。你的目标是尽可能满足越多数量的孩子,并输出这个最大数值。
示例 1
输入: g = [1, 2, 3], s = [1, 1]
输出: 1
解释: 你有三个孩子和两块小饼干,3个孩子的胃口值分别是:1,2,3。虽然你有两块小饼干,由于他们的尺寸都是1,你只能让胃口值是1的孩子满足。所以你应该输出1。
给定一个N
叉树,找到其最大深度。
最大深度是指从根节点到最远叶子节点的最长路径上的节点总数。
N
叉树输入按层序遍历序列化表示,每组子节点由空值分隔(请参见示例)。
示例 1
输入: root = [1, null, 3, 2, 4, null, 5, 6]
输出: 3
示例 2
输入: root = [1, null, 2, 3, 4, 5, null, null, 6, 7, null, 8, null, 9, 10, null, null, 11, null, 12, null, 13, null, null, 14]
输出: 3
给你两棵二叉树root
和subRoot
。检验root
中是否包含和subRoot
具有相同结构和节点值的子树。如果存在则返回true
;否则返回false
。
二叉树tree
的一棵子树包括tree
的某个节点和这个节点的所有后代节点。tree
也可以看做它自身的一棵子树。
示例 1
输入: root = [3, 4, 5, 1, 2], subRoot = [4, 1, 2]
输出: true
给你两棵二叉树的根节点p
和q
,编写一个函数来检验这两棵树是否相同。
如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。
示例 1
输入: p = [1, 2, 3], q = [1, 2, 3]
输出: true
示例 2
输入: p = [1, 2], q = [1, null, 2]
输出: false
示例 3
输入: p = [1, 2, 1], q = [1, 1, 2]
输出: false