LeetCode
文章平均质量分 93
kww_
这个作者很懒,什么都没留下…
展开
-
背包问题(416,494,474,322,518,139)
一、416. 分割等和子集1.1 题目描述给你一个只包含正整数的非空数组nums。请你判断是否可以将这个数组分割成两个子集,使得两个子集的元素和相等。1.2 代码原创 2022-08-11 12:36:19 · 288 阅读 · 0 评论 -
Hot100(二)
12月2日152. 乘积最大子数组1.暴力以每个值为起点,记录从每个元素开始往后相乘出现的最大值。public static int maxProduct(int[] nums) { int len= nums.length; int max=nums[0]; int cur=nums[0]; for (int i = 0; i < len; i++) { cur=nums[i];原创 2022-01-14 15:07:00 · 332 阅读 · 1 评论 -
HOT100(一)
力扣热题100原创 2021-12-02 18:50:31 · 1013 阅读 · 0 评论 -
动态规划——路径问题(64,62)、数组区间(303,413)、分割整数(343,279,91)、最长递增子序列(300,646,376)、最长公共子序列(1143
动态规划原创 2021-06-21 20:54:22 · 535 阅读 · 0 评论 -
动态规划——斐波那契数列(70. 爬楼梯、198. 打家劫舍、213. 打家劫舍II、信件错排、母牛生产)
递归和动态规划都是将原问题拆分成多个子问题然后求解,但是动态规划存储了子问题的解,不需要重复计算.动态规划(Dynamic Programming,DP)需要转移方程和边界条件。目录一、70. 爬楼梯1.1 题目描述1.2 代码二、198. 打家劫舍2.1 题目描述2.2 代码2.2.1 判断条件较多2.2.2 优化(推荐)三、213. 打家劫舍 II3.1 题目描述3.2 代码一、70. 爬楼梯1.1 题目描述假设你正在爬楼梯。需要n阶..原创 2021-05-09 13:38:02 · 467 阅读 · 0 评论 -
回溯Backtracking(17. 电话号码的字母组合、93. 复原 IP 地址、79. 单词搜索、257. 二叉树的所有路径、47. 全排列 II、77.组合、39、40、216、90、131)
一、17. 电话号码的字母组合1.1 题目描述给定一个仅包含数字2-9的字符串,返回所有它能表示的字母组合。答案可以按 任意顺序 返回。(难度中等)给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。示例 1:输入:digits = "23"输出:["ad","ae","af","bd","be","bf","cd","ce","cf"]示例 2:输入:digits = ""输出:[]示例 3:输入:digits = "2"输出:["a","b","..原创 2021-05-08 11:16:58 · 885 阅读 · 1 评论 -
BFS(1091. 二进制矩阵中的最短路径、279. 完全平方数、127. 单词接龙)
一、1091. 二进制矩阵中的最短路径1.1 题目描述给你一个 n x n 的二进制矩阵 grid 中,返回矩阵中最短 畅通路径 的长度。如果不存在这样的路径,返回 -1 。(难度中等)二进制矩阵中的 畅通路径 是一条从 左上角 单元格(即,(0, 0))到 右下角 单元格(即,(n - 1, n - 1))的路径,该路径同时满足下述要求:路径途经的所有单元格都的值都是 0 。路径中所有相邻的单元格应当在 8 个方向之一 上连通(即,相邻两单元之间彼此不同且共享一条边或者一个角)。畅通路原创 2021-04-08 16:14:07 · 475 阅读 · 0 评论 -
分治(241. 为运算表达式设计优先级、95. 不同的二叉搜索树 II)
一、241. 为运算表达式设计优先级1.1 题目描述给定一个含有数字和运算符的字符串,为表达式添加括号,改变其运算优先级以求出不同的结果。你需要给出所有可能的组合的结果。有效的运算符号包含 +,-以及*。示例1:输入: "2-1-1" 输出: [0, 2] 解释: ((2-1)-1) = 0 (2-(1-1)) = 2示例2:输入: "2*3-4*5" 输出: [-34,...原创 2021-04-01 21:34:51 · 222 阅读 · 0 评论 -
折半查找(69. x 的平方根、744. 寻找比目标字母大的最小字母、540. 有序数组中的单一元素、278. 第一个错误的版本、153. 寻找旋转排序数组中的最小值、34.查找元素第一和最后位置)
一、69. x 的平方根1.1 题目描述实现int sqrt(int x)函数。(难度简单)计算并返回x的平方根,其中x 是非负整数。由于返回类型是整数,结果只保留整数的部分,小数部分将被舍去。示例 1:输入: 4输出: 2示例 2:输入: 8输出: 2说明: 8 的平方根是 2.82842...,由于返回类型是整数,小数部分将被舍去。1.2 代码1.2.1 二分法package BinarySearch;/** * @author : lkw...原创 2021-03-30 17:42:13 · 799 阅读 · 1 评论 -
LeetCode——贪心思想(455. 分发饼干、435. 无重叠区间、452. 用最少数量的箭引爆气球、406. 根据身高重建队列、122|123.买卖股票的最佳时机、605. 种花问题...)
一、455. 分发饼干1.1 题目描述假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。(难度:简单)对每个孩子 i,都有一个胃口值g[i],这是能让孩子们满足胃口的饼干的最小尺寸;并且每块饼干 j,都有一个尺寸 s[j]。如果 s[j]>= g[i],我们可以将这个饼干 j 分配给孩子 i ,这个孩子会得到满足。你的目标是尽可能满足越多数量的孩子,并输出这个最大数值。示例1:输入: g = [1,2,3], s = [1,1] ...原创 2021-03-26 09:57:43 · 1389 阅读 · 0 评论 -
LeetCode——排序(215.数组中的第K个最大元素、347.出现频率最多的 k 个元素、451. 根据字符出现频率排序、75. 颜色分类)快排、桶排序
一、215. 数组中的第K个最大元素1.1 题目叙述在未排序的数组中找到第 k 个最大的元素。请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。(难度中等)示例 1:输入: [3,2,1,5,6,4] 和 k = 2输出: 5示例2:输入: [3,2,3,1,2,4,5,5,6] 和 k = 4输出: 4说明:你可以假设 k 总是有效的,且 1 ≤ k ≤ 数组的长度。1.2 代码1.2.1暴力+APIpackage Sort;..原创 2021-03-21 21:40:28 · 708 阅读 · 0 评论 -
LeetCode——双指针(两数之和\平方和、反转字符串中的元音字母、验证回文字符串、合并两个有序数组、环形链表、字匹配字典最长单词)
一、双指针1.1 167. 两数之和 II - 输入有序数组题目描述给定一个已按照 升序排列的整数数组numbers ,请你从数组中找出两个数满足相加之和等于目标数target 。函数应该以长度为 2 的整数数组的形式返回这两个数的下标值。numbers 的下标 从 1 开始计数 ,所以答案数组应当满足 1 <= answer[0] < answer[1] <= numbers.length 。你可以假设每个输入只对应唯一的答案,而且你不可以重复使用相同的元素。...原创 2021-03-10 21:55:16 · 846 阅读 · 0 评论 -
DFS(695. 岛屿的最大面积、200. 岛屿数量、547. 省份数量、130. 被围绕的区域、417. 太平洋大西洋水流问题)
dfs原创 2021-04-11 09:20:40 · 667 阅读 · 0 评论