LeetCode
笼子算法进阶之路
爪哇贡尘拾Miraitow
行走在爪哇的道路上,懂得拾起大佬的智慧,想要贡献自己所得,哪怕微若尘埃
展开
-
560 和为 K 的子数组
边存边查看map,如果map中存在key为「当前前缀和-k」,说明这个之前出现的前缀和,满足「当前前缀和-该前缀和==k」,它出现的次数,累加给count。遍历nums之前,我们让-1对应的前缀和为0,这样通式在边界情况也成立。其实我们不关心具体是哪两项的前缀和之差等于k,只关心等于k的前缀和之差出现的次数c,就知道了有c个子数组求和等于k。遍历nums数组,求每一项的前缀和,统计对应的出现次数,以键值对存入map。时间复杂度O(n)。空间复杂度O(n)...原创 2022-07-23 21:07:51 · 329 阅读 · 0 评论 -
322. 零钱兑换
计算并返回可以凑成总金额所需的最少的硬币个数。如果没有任何一种硬币组合能组成总金额,返回-1。给你一个整数数组coins,表示不同面额的硬币;以及一个整数amount,表示总金额。这类涉及状态转移的题目,可以考虑动态规划。你可以认为每种硬币的数量是无限的。...原创 2022-07-16 23:33:24 · 244 阅读 · 0 评论 -
300. 最长递增子序列
要找到最长的递增子序列长度,每当我们找到一个位置,它是继续递增的子序列还是不是,它选择前面哪一处接着才能达到最长的递增子序列,这类有状态转移的问题常用方法是动态规划。子序列是由数组派生而来的序列,删除(或不删除)数组中的元素而不改变其余元素的顺序。例如,[3,6,2,7]是数组[0,3,1,6,2,2,7]的子序列。给你一个整数数组nums,找到其中最长严格递增子序列的长度。f(1)最长子序列为1。f(2)最长子序列为2。f(3)最长子序列为2。f(4)最长子序列为3。f(5)最长子序列为4。...原创 2022-07-16 23:30:42 · 221 阅读 · 0 评论 -
岛屿数量vs最大正方形
矩阵中多处聚集着1,要想统计1聚集的堆数而不重复统计,那我们可以考虑每次找到一堆相邻的1,就将其全部改成0,而将所有相邻的1改成0的步骤又可以使用深度优先搜索(dfs)当我们遇到矩阵的某个元素为1时,首先将其置为了0,然后查看与它相邻的上下左右四个方向,如果这四个方向任意相邻元素为1,则进入该元素,进入该元素之后我们发现又回到了刚刚的子问题,又是把这一片相邻区域的1全部置为0,因此可以用递归实现。在一个由‘0’和‘1’组成的二维矩阵内,找到只包含‘1’的最大正方形,并返回其面积。...原创 2022-07-16 17:06:03 · 197 阅读 · 0 评论 -
Hot100 单词拆分
单词拆分原创 2022-07-16 02:53:52 · 149 阅读 · 0 评论 -
剑指offer 有人相爱,有人夜里开车看海,有人leetcode第一题都做不出来(leetcode有空就刷系列之找出数组中重复的数字)
数组中重复的数字 找出数组中重复的数字。 在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。 示例 1: 输入: [2, 3, 1, 0, 2, 5, 3] 输出:2 或 3 public class Test { public static void main(String[] args) { Test test=new Test();原创 2021-11-02 22:10:41 · 2615 阅读 · 0 评论 -
剑指offer The second day 会斐波那契数列的青蛙(leetcode有空就刷系列之青蛙跳台阶问题)
青蛙跳台阶的问题 一只青蛙一次可以跳上1级台阶,也可以跳上2级台阶。求该青蛙跳上一个 n 级的台阶总共有多少种跳法。 答案需要取模 1e9+7(1000000007),如计算初始结果为:1000000008,请返回 1。 示例 1: 输入:n = 2 输出:2 示例 2: 输入:n = 7 输出:21 示例 3: 输入:n = 0 输出:1 解题思路 当我们在尝试写出不同大小的台阶,可能的方法,然后发现当n(台阶)=1时方法为1,当台阶为2时方法为2,当台阶为3,4,5的时候分别为3,5,8我就试着找规律原创 2021-11-04 21:42:38 · 2900 阅读 · 1 评论 -
剑指offer The second day(leetcode有空就刷系列之找二维数组的查找)
二维数组的查找 在一个 n * m 的二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个高效的函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 现有矩阵 matrix 如下: [ [1, 4, 7, 11, 15], [2, 5, 8, 12, 19], [3, 6, 9, 16, 22], [10, 13, 14, 17, 24], [18, 21, 23, 26, 30] ] 给定 target = 5,返回 true。 给原创 2021-11-03 22:28:53 · 121 阅读 · 0 评论