Leetcode基础刷题之PHP解析(153. Find Minimum in Rotated Sorted Array)

这道题做个类似的,也是在哪个点发生旋转,求一个数,想不起来了,可以去看之前有关二分查找的题目,他并不是让你直接使用内置函数,或者自己写遍历,这样时间复杂度都是O(n),应该通过二分查找来确定最小值所在的区间范围。...

Leetcode PHP题解--D105 1005. Maximize Sum Of Array After K Negations

D105 1005. Maximize Sum Of Array After K Negations 题目链接 1005. Maximize Sum Of Array After K Negations 题目分析 给定一个数组A,对其进行K次以下操作:从数组A中选择任意元素,取其相反数。使得进行K次操作后,数组A的和最大。 思路 对数组进行排序,取其中最小的值计算相反数,如此繁复。 最终...

Leetcode基础刷题之PHP解析( 73. Set Matrix Zeroes)

这整体思路就是先扫描第一行第一列如果有0的行列,各自标识一下。再扫描其后的数组,如果存在0,则将对应的第一行第一列设置成0,接着再判断除去第一行第一列之后的数组,如果第一行或者第一列有一个是0,那么直接设置它的值是0,最后通过标识把第一行第一列的值更新是否为0。有点绕,具体看代码...

Leetcode PHP题解--D104 167. Two Sum II - Input array is sorted

D104 167. Two Sum II - Input array is sorted 题目链接 167. Two Sum II - Input array is sorted 题目分析 给定一个已经排序好的整数数组,从中寻找两个数字,使其相加之后等于给定的一个数字。 返回这两个数字对应的下标。 思路 首先想到的思路当然是逐个遍历,但是会超时。就不细说了。 之后想到的是用二分法找到小于...

Leetcode PHP题解--D103 447. Number of Boomerangs

D103 447. Number of Boomerangs 题目链接 447. Number of Boomerangs 题目分析 给定一个坐标数组,从中任意取3个坐标(i,j,k),使得从i到j的距离等于i到k的距离。且(i,j,k)与(i,k,j)不是同一个组合,需单独计算。 思路 逐个遍历,计算两点距离。并记录在一个数组中。 对于具有相同距离的边的个数,组合数量有以下规律: 当有...

Leetcode PHP题解--D102 383. Ransom Note

D102 383. Ransom Note 题目链接 383. Ransom Note 题目分析 给定一个字符串,判断这些字母在另一个给定的字符串中,出现次数是否相等。 思路 先获取两个字符串中各字符的出现次数,再逐个遍历,判断出现次数是否满足条件。 最终代码 ...

Leetcode PHP题解--D100 387. First Unique Character in a String

D100 387. First Unique Character in a String 题目链接 387. First Unique Character in a String 题目分析 返回给定字符串中第一个只出现了一次的单词下标。 若没有,则返回-1。 思路 把遇到的单词存进两个数组。 一个用来记录只出现了一次的数组A,另一个记录出现了不只一次的数组B。 遍历每个字母,当当前字母存...

Leetcode PHP题解--D99 860. Lemonade Change

D99 860. Lemonade Change 题目链接 860. Lemonade Change 题目分析 这道题目是典型的收银问题了。 假设你在开店第一天没有零钱,你的商品卖5元。纸币有5元、10元、20元三种。给定一个数组代表你今天遇到的客人在买东西时给的钱。判断你的钱箱能不能顺利给每一位客人找零。(假设每一位客人都只买一件商品) 思路 首先判断客户给的是哪种。 如果是5元的话,...