Leetcode PHP题解--D20 557. Reverse Words in a String III

557. Reverse Words in a String III 题目链接 557. Reverse Words in a String III 题目分析 题目要求把句子中的每个单词都倒转过来。 思路 这个很简单,用空格把句子分割,再用strrev把字符串倒转过来,拼接起来就可以了。 最终代码 ...

Leetcode PHP题解--D18 908. Smallest Range I

908. Smallest Range I 题目链接 908. Smallest Range I 题目分析 给定一个数组A和一个数字K,找到一个在-K和K之间的数字x并加到数组A中的每一个元素生成数组B,返回数组B中最大值和最小值之差最小的值。 思路 根据题目,需要我们可以给数组A中的每一个元素添加-K...

Leetcode PHP题解--D17 883. Projection Area of 3D Shapes

883. Projection Area of 3D Shapes 题目链接 883. Projection Area of 3D Shapes 题目分析 这个题目要求计算一个三维柱状图的“表面积”。 当输入为[[1,2],[3,4]]时如图所示。 底面为2+2=4,这个应该不用多说; 从x面看过去,左边前面的柱子高度为1,后面的柱子高度为2,故这一行取高度为2,右边柱子同理取4,因此2...

Leetcode PHP题解--D16 922. Sort Array By Parity II

922. Sort Array By Parity II 题目链接 922. Sort Array By Parity II 题目分析 给定一个整数数组A,使数组中偶数位的值为偶数,奇数位的值为奇数。 例如,A[0],0是偶数,所以A[0]要为偶数。A[1],1是奇数,所以A[1]要为奇数。 思路 用array_filter 拆分数组中的偶数和奇数,再轮流塞进新数组中。 最终代码 ...

Leetcode PHP题解--D15 509. Fibonacci Number

509. Fibonacci Number 题目链接 509. Fibonacci Number 题目分析 斐波那契数列应该不用我多说了吧? 是个经典的递归问题。 递归有两个条件。 一个是终止条件。要不然会无限递归下去。 另一个是自己调自己。这才叫递归。 思路 因为该数列中,当前数字为前两项之和,所以要计算前一项的“前两项之和”和前前一项的“前两项之和”。 但,当当前为第1项或第2项时,...