一、题目描述
给你一个整数数组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