12 2020 档案

摘要:题目链接 290. 单词规律 题目描述 解题思路 双哈希表 需要处理两个映射关系:pattern → str,以及str → pattern。 如果只考虑pattern → str的映射关系,则pattern = "abba",str = "dog dog dog dog"示例不通过。所以必须也得考 阅读全文
posted @ 2020-12-27 13:01 控球强迫症 阅读(128) 评论(0) 推荐(0)
摘要:题目链接 42. 接雨水 题目描述 解题思路 暴力法(按列求取雨水值) 因为首尾元素不可能存在雨水,所以可以不用考虑首尾元素。 对于剩余的每个元素,分别计算从该元素开始,从左和从右开始开始的最大值,然后当前元素对应的能够接的雨水值 = Math.min(maxLeft,maxRight) - hei 阅读全文
posted @ 2020-12-26 23:00 控球强迫症 阅读(133) 评论(0) 推荐(0)
摘要:题目链接 84. 柱状图中最大的矩形 题目描述 解题思路 暴力法 对于每一个高度height[i],我们可以向左向右遍历,然后算出该高度往左往右最多可以延申至何处,这样就能算出该高度对应的面积,枚举所有高度然后求出最大值。 时间复杂度:O(n) 空间复杂度:O(1) 超时! 单调栈 以上暴力写法 J 阅读全文
posted @ 2020-12-26 20:13 控球强迫症 阅读(122) 评论(0) 推荐(0)
摘要:题目链接 135. 分发糖果 题目描述 解题思路 贪心法 两次贪心:从左到右进行贪心选择,从右到左进行贪心选择 题目中说到:相邻的孩子中,评分高的孩子必须获得更多的糖果。这里的相邻包含两种情况:左相邻和右相邻,我们不能一次性把左相邻和右相邻通通考虑,这样只会得不偿失,我们采取的策略是分两次考虑,所以 阅读全文
posted @ 2020-12-24 14:10 控球强迫症 阅读(168) 评论(0) 推荐(0)
摘要:题目链接 746. 使用最小花费爬楼梯 题目描述 解题思路 动态规划 每次只能一个阶梯或者两个阶梯,所以要到达第 i 阶,只有两种方案,从第 i-2 阶,或 从 i-1阶到达 假设到达第i-2阶的最小花费为p2 到达第i-1阶的最小花费为p1 第i阶的花费为curr 则到达第i阶的最小花费的状态转移 阅读全文
posted @ 2020-12-21 12:21 控球强迫症 阅读(147) 评论(0) 推荐(0)
摘要:题目链接 316. 去除重复字母 题目描述 解题思路 单调栈的应用 本题的解决可以分为两个过程: (1) 去重,使得所有元素只出现一次。 (2) 返回字典序最小 先忽略过程2,利用栈这个数据结构实现去重。去重的原理就是利用isUsed数组标记该元素是否在栈中出现,如果是则跳过,否则在栈中加入该元素。 阅读全文
posted @ 2020-12-20 14:20 控球强迫症 阅读(177) 评论(0) 推荐(0)
摘要:题目一 1.1 题目链接 136. 只出现一次的数字 1.2 题目描述 1.3 解题思路 1.位运算之异或操作 异或的性质如下 (1) 两个数字异或的结果:a ^ b = 将 a 和 b 的二进制每一位进行运算,得出的数字. (2) 运算的逻辑是:如果同一位的数字相同则为 0,不同则为 1 (3) 阅读全文
posted @ 2020-12-19 13:38 控球强迫症 阅读(673) 评论(0) 推荐(0)
摘要:题目链接 48. 旋转图像 题目描述 解题思路 1.观察法 利用变量x,y代替坐标,根据题目要求去发现坐标之间的关系,尽量不要直接用确定的数字来表示坐标,这样当情况复杂的时候很容易搞混。 我们可以发现矩阵的旋转可以转变为每一圈每个元素的的旋转,例如1->4->16->13转变为13->1->4->1 阅读全文
posted @ 2020-12-19 13:13 控球强迫症 阅读(207) 评论(0) 推荐(0)
摘要:题目链接 49. 字母异位词分组 题目描述 解题思路 1.暴力法 两个for循环,分别判断两个字符串出现的字母个数是否相同,相同加入同一个List。时间复杂度基本等于O(n^2),Leetcode上提交是超时的。 2.hash法 对暴力法进行改进,利用List记录字符串出现的字母个数相同的字符串,同 阅读全文
posted @ 2020-12-14 15:21 控球强迫症 阅读(121) 评论(0) 推荐(0)