Leetcode之PHP版题目解析(155. Min Stack)

2019-3-12 星期二   开始吧 题目描述 设计一个支持push,pop,top以及在恒定时间内检索最小元素的堆栈。 题目示例 MinStack minStack = new MinStack(); minStack.push(-2); minStack.push(0); minStack.push(-3); minStack.getMin(); --&...

Leetcode之PHP版题目解析(136. Single Number)

题目描述 给一个不为空的数组,除了一个元素外,每一个元素都会出现两次,找出那个出现一次的数. 题目示例 例1输入[2,2,1],那么返回的就是出现一次的1,例2输入的是[4,1,2,1,2],那么输出的就是出现一次的4. 题目思路 我的思路(好吧我第一次使用的是暴力破解法,这是一种超级常规的思想,看看就好,他的运行效率会很低,不推荐这种,既然我们刷题了,当然要用更优的解...

Leetcode PHP题解--D4 961. N-Repeated Element in Size 2N Array

961. N-Repeated Element in Size 2N Array 题目链接 961. N-Repeated Element in Size 2N Array 题目分析 在长度为2N的数组A中,有N+1个元素。其中恰好有一个元素重复了N遍。 返回这个元素。 一般算法题用数学上的定义方法去描述问题,所以理解起来可能费劲一些。 我们来简化一下问题: 返回数组A中重复了N遍的元素...

Leetcode PHP题解--D3 709. To Lower Case

709. To Lower Case 题目链接 709. To Lower Case 题目分析 这个题目要求返回所传字符串的全小写形式。 思路 按照C语言的思路,遍历每个字符,判断是不是大写。是大写则转换成小写。 具体转换方法是对这个大写字符减去A再加a。 在PHP中这么做也是可以的。但是,要记住PHP是用C写的。用内置函数/原生函数的效率比自己写PHP函数效率要高得多。 因此,我们用原...

Leetcode PHP题解--D2 929. Unique Email Addresses

929. Unique Email Addresses 题目链接 929. Unique Email Addresses 题目分析 题目要求过滤重复的邮箱地址。最终返回不重复的用户名个数。 过滤规则是:邮箱名中的.要被忽略,且+后面的所有字符都要删去。域名部分则不进行处理。 思路 输入是一个数组,那么我们用foreach就可以了。 对于数组中的每一个元素,进行如下处理: 先以@为分隔符...

PHP 版 Leetcode 题解开始随缘更新

PHP版Leetcode题解 我叫skys215,是一名bug工程师。 我接触编程的时间比较早,但是因为我数学不好加上比较懒,所以编程能力一直没有多少提升。 虽然在大学期间被同学们视为大神、学霸,其实我心里知道比我厉害的人多了去了。 参加了几次校内ACM比赛,都是以解0~2题宣告失败。 我是自认为我不适合做钻研型的程序员。我比较喜欢做出对人们有用的程序。不管运用的技术多落后、原理有多简单...

Leetcode PHP题解--D1 771. Jewels and Stones

771. Jewels and Stones 由于是按难易度排序的,因此本题是第一题。 题目链接 771. Jewels and Stones 题目分析 从第二个参数S中找第一个参数J 中出现的字符,返回找到的字符个数。 也就是说,第一个参数J是一个需要找的字符的列表。只是拼接成字符串了。 而第二个参数S是被查找的字符串。 简单地说就是要在S里找J。 先把问题简化为J中只有一个字符的情形...

LeetCode-MySQL基础题之176(第二高的薪水)

编写一个 SQL 查询,获取 Employee 表中第二高的薪水(Salary)。 Id Salary 1 100 2 200 3 300 例如上述 Employee 表,SQL查询应该返回 200 作为第二高的薪水。如果不存在第二高的薪水,那么查询应返回 null。 SecondHighestSalary 200 IFNULL(field...