Leetcode PHP题解--D117 599. Minimum Index Sum of Two Lists

D117 599. Minimum Index Sum of Two Lists 题目链接 599. Minimum Index Sum of Two Lists 题目分析 给定两个数组,返回其交集,在交集中返回他们在各自数组的下标之和最小。 思路 因为去找一个元素在不在另一个数组的话,需要逐个比较。因此我们在这里先把两个数组都翻过来,用isset函数去判断是否存在元素。 在循环体外保存...

Leetcode PHP题解--D116 409. Longest Palindrome

D116 409. Longest Palindrome 题目链接 409. Longest Palindrome 题目分析 返回通过给定的字符串能组成的最长回文字符串长度。 思路 用array_count_values计算字母出现次数。再区分出现次数为偶数的字母和奇数次数的字母。用array_sum可以直接算出现了偶数次的字母。而对于出现了奇数次的字母,只能收录一个放在回文串的最中间。...

Leetcode PHP题解--D115 506. Relative Ranks

D115 506. Relative Ranks 题目链接 506. Relative Ranks 题目分析 给定一个积分表,对前三名显示Gold/Silver/Bronze Medal,剩余的直接显示名次。 思路 首先保留索引给积分表排序,再用range生成名次把前三条替换成指定文字。之后使用array_combine和ksort把两者结合就好了。 最终代码 ...

Leetcode PHP题解--D112 181. Employees Earning More Than Their Managers

D112 181. Employees Earning More Than Their Managers 题目链接 181. Employees Earning More Than Their Managers 题目分析 给定一张表,返回工资比上级高的员工名字。 思路 我想到的是left join。 最终代码 # Write your MySQL query statement belo...

Leetcode PHP题解--D111 492. Construct the Rectangle

D111 492. Construct the Rectangle 题目链接 492. Construct the Rectangle 题目分析 给定矩形面积,求出宽高之差最小的边长。 思路 因为是求出面积,因此先用sqrt函数求开方,向下求整。 再递减,逐个尝试面积除以边长之后余数是否为0,即能否整除。 为什么从开方后的值开始?因为题目要求宽高之差要尽可能小。 最终代码 ...

Leetcode PHP题解--D109 122. Best Time to Buy and Sell Stock II

D109 122. Best Time to Buy and Sell Stock II 题目链接 122. Best Time to Buy and Sell Stock II 题目分析 给定一个数组,代表商品价格。从给定的数组中,计算通过买卖能获得的最大收益。只有卖出才能再买入。 思路 一开始以为是获取最小值右边的最大值去卖出。 后来发现规律,是在价格拐点进行买入卖出操作。 即,先单...

Leetcode PHP题解--D108 404. Sum of Left Leaves

D108 404. Sum of Left Leaves 题目链接 404. Sum of Left Leaves 题目分析 计算二叉树中所有左子节点的值之和。 思路 遍历二叉树。遍历左节点时传入标识。若遍历的当前的左右子树皆为空,且当前节点是左节点时,算入合内。 最终代码 ...