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题解--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元的话,...

Leetcode PHP题解--D98 697. Degree of an Array

D98 697. Degree of an Array 题目链接 697. Degree of an Array 题目分析 返回出现次数最多的元素的键差最小的值。 思路 先用array_count_values计算元素出现次数,用arsort排序。 再遍历该数组,记录第一个元素的值。用以记录最大值。 获取当前遍历元素在原数组中的最小下标和最大下标。其差值为所求数。 最后返回最小的该数即可...