算法刷题
文章平均质量分 77
算法刷题笔记,记录自己的刷题历程,加油!
ItDaChuang
计算机系学生,新号总结各种计算机知识。
展开
-
力扣191-位1的个数(位运算典型题 java题解)
力扣191-位1的个数一、原题题目1.1 题目 编写一个函数,输入是一个无符号整数(以二进制串的形式),返回其二进制表达式中数字位数为 ‘1’ 的个数(也被称为汉明重量)。1.2 示例示例1:输入: 00000000000000000000000000001011输出: 3解释: 输入的二进制串 00000000000000000000000000001011 中,共有3位为 1。示例2:输入: 00000000000000000000000010000000输出: 1解释: 输原创 2021-03-22 12:18:14 · 172 阅读 · 0 评论 -
力扣705-设计哈希集合(利用Boolen数组击败100% java题解)
利用Boolen数组击败100% java题解原创 2021-03-13 01:47:13 · 173 阅读 · 1 评论 -
力扣331-验证二叉树的前序序列化(递归思想和出入度计算方法java版题解)
递归思想和出入度计算方法java版题解原创 2021-03-12 20:15:18 · 197 阅读 · 0 评论 -
剑指03-数组中重复的数字
剑指03-数组中重复的数字一、原题题目1.1 题目 找出数组中重复的数字。在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。1.2 示例示例1:输入: [2, 3, 1, 0, 2, 5, 3]输出: 2 或 3提示:可以假设 s 和 t 长度相同。来源:力扣(LeetCode)链接:https://leetcode-cn.com/probl原创 2021-03-04 18:34:43 · 119 阅读 · 2 评论 -
力扣435-无重叠区间(贪心+排序 Java版详细注释题解)
一道经典贪心题目,好好掌握起来吧!原创 2020-12-31 17:17:22 · 294 阅读 · 0 评论 -
力扣205-同构字符串(由浅入深多方法解题 Java题解)
力扣205-同构字符串一、原题题目1.1 题目 给定两个字符串 s 和 t ,判断它们是否是同构的。如果 s 中的字符可以按某种映射关系替换得到 t ,那么这两个字符串是同构的。每个出现的字符都应当映射到另一个字符,同时不改变字符的顺序。不同字符不能映射到同一个字符上,相同字符只能映射到同一个字符上,字符可以映射到自己本身。1.2 示例示例1:输入: s = "egg", t = "add"输出: true示例2:输入: s = "foo", t = "bar"输出: false原创 2020-12-30 02:04:54 · 265 阅读 · 0 评论 -
力扣1046-最后一块石头的重量(原汁原味利用排序,自己写的100% Java题解)
力扣1046-最后一块石头的重量(详细注释,自己写的100% Java题解)原创 2020-12-30 01:31:54 · 194 阅读 · 2 评论 -
力扣85-最大矩形(巧妙利用上一题解答 Java版题解)
力扣85-最大矩形一、原题题目1.1 题目 给定一个仅包含 0 和 1 、大小为 rows x cols 的二维二进制矩阵,找出只包含 1 的最大矩形,并返回其面积。1.2 示例示例1:输入: matrix = [[“1”,“0”,“1”,“0”,“0”],[“1”,“0”,“1”,“1”,“1”],[“1”,“1”,“1”,“1”,“1”],[“1”,“0”,“0”,“1”,“0”]]输出: 6解释: 最大矩形如上图所示。示例2:输入: matrix = []输出: 0原创 2020-12-29 19:50:16 · 348 阅读 · 0 评论 -
力扣84-柱状图中最大的矩形(最容易看懂的栈图解 Java版题解)
力扣84-柱状图中最大的矩形一、原题题目1.1 题目 给定 n 个非负整数,用来表示柱状图中各个柱子的高度。每个柱子彼此相邻,且宽度为 1 。求在该柱状图中,能够勾勒出来的矩形的最大面积。 以上左图是柱状图的示例,其中每个柱子的宽度为 1,给定的高度为 [2,1,5,6,2,3]。右图中阴影部分为所能勾勒出的最大矩形面积,其面积为 10 个单位。1.2 示例示例:输入: [2,1,5,6,2,3]输出: 10来源:力扣(LeetCode)链接:https://leetcod原创 2020-12-29 18:42:05 · 448 阅读 · 0 评论 -
力扣62-不同路径(动态规划,递归,数学公式多方法比较 Java题解)
动态规划的典型题原创 2020-12-25 21:43:24 · 514 阅读 · 0 评论 -
力扣860-柠檬水找零(又一道贪心入门题,你学废了吗?Java详细题解)
力扣860-柠檬水找零(又一道贪心入门题,你学废了吗?Java详细题解)原创 2020-12-25 19:22:26 · 190 阅读 · 0 评论 -
力扣455-分发饼干(贪心入门题 Java题解)
此题是力扣中贪心的简单题。原创 2020-12-25 02:16:50 · 586 阅读 · 0 评论 -
力扣376-摆动序列(动态规划和贪心两种方法 Java 详细题解)
详细总结这道题的两种方法,动态规划和贪心。原创 2020-12-25 01:06:33 · 449 阅读 · 0 评论 -
力扣217-存在重复元素(多方法比较 Java版题解)
力扣217-存在重复元素一、原题题目1.1 题目 给定一个整数数组,判断是否存在重复元素。如果任意一值在数组中出现至少两次,函数返回 true 。如果数组中每个元素都不相同,则返回 false 。1.2 示例示例1:输入: [1,2,3,1]输出: true示例2:输入: [1,2,3,4]输出: false示例3:输入: [1,1,1,3,3,4,3,2,4,2]输出: true来源:力扣(LeetCode)链接:https://leetcode-cn.com/pr原创 2020-12-24 13:53:18 · 284 阅读 · 0 评论 -
力扣135-分发糖果(接近双100%的 Java 版详细题解)
力扣135-分发糖果(接近双100%的 Java 版详细题解)原创 2020-12-24 13:01:50 · 305 阅读 · 0 评论 -
力扣387-字符串中的第一个唯一字符(Java题解)
力扣387-字符串中的第一个唯一字符一、原题题目1.1 题目 给定一个字符串,找到它的第一个不重复的字符,并返回它的索引。如果不存在,则返回 -1。示例:s = “leetcode”返回 0s = “loveleetcode”返回 2提示:你可以假定该字符串只包含小写字母。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/first-unique-character-in-a-string/二、解题思路2.1 题目意思理原创 2020-12-23 01:08:06 · 197 阅读 · 0 评论 -
力扣103-二叉树的锯齿形层序遍历(Java版详细注释题解)
力扣103-二叉树的锯齿形层序遍历一、原题题目1.1 题目 给定一个二叉树,返回其节点值的锯齿形层序遍历。(即先从左往右,再从右往左进行下一层遍历,以此类推,层与层之间交替进行)。例如:给定二叉树 [3,9,20,null,null,15,7] 3 / \ 9 20 / \ 15 7返回锯齿形层序遍历如下:[ [3], [20,9], [15,7]]来源:力扣(LeetCode)链接:https://leetcode-cn.com/原创 2020-12-23 00:01:30 · 315 阅读 · 0 评论 -
力扣746-使用最小花费爬楼梯(动态规划 Java版详细题解)
个人刷题思路总结整理。原创 2020-12-21 11:19:33 · 472 阅读 · 1 评论 -
力扣316-去除重复字母(栈,贪心Java版题解)
个人力扣题目总结笔记。原创 2020-12-20 23:45:09 · 303 阅读 · 0 评论 -
力扣48-旋转图像(详细两次旋转100%Java版)
详细介绍旋转图像这类题的方法,通过翻转到到不同方向的旋转,及里面要注意的细节。看完一定懂!!!原创 2020-12-20 00:24:34 · 218 阅读 · 1 评论 -
力扣389-找不同(Java详细题解,位运算100%)
力扣389-找不同一、原题题目1.1 题目 给定两个字符串 s 和 t,它们只包含小写字母。字符串 t 由字符串 s 随机重排,然后在随机位置添加一个字母。请找出在 t 中被添加的字母。1.2 示例示例一输入: s = “abcd”, t = “abcde”输出: “e”解释: ‘e’ 是那个被添加的字母。示例二输入: s = “”, t = “y”输出: “y”示例三输入: s = “a”, t = “aa”输出: “a”示例四输入: s = “ae”,原创 2020-12-18 16:34:05 · 902 阅读 · 4 评论 -
力扣714-买卖股票的最佳时机含手续费(动态规划-Java详细题解)
力扣714-买卖股票的最佳时机含手续费一、原题题目1.1 题目 给定一个整数数组 prices,其中第 i 个元素代表了第 i 天的股票价格 ;非负整数 fee 代表了交易股票的手续费用。你可以无限次地完成交易,但是你每笔交易都需要付手续费。如果你已经购买了一个股票,在卖出它之前你就不能再继续购买股票了。返回获得利润的最大值。 注意:这里的一笔交易指买入持有并卖出股票的整个过程,每笔交易你只需要为支付一次手续费。1.2 示例示例一输入: prices = [1, 3, 2, 8, 4,原创 2020-12-17 16:26:31 · 328 阅读 · 0 评论 -
力扣290-单词规律(Java详细题解)
力扣每日一题,第290题单词规律java版详细题解原创 2020-12-16 11:36:57 · 287 阅读 · 0 评论 -
力扣738-单调递增的数字(java题解)
力扣738-单调递增的数字(java题解)原创 2020-12-15 11:36:37 · 262 阅读 · 0 评论 -
力扣649. Dota2参议院 (Java 详细题解)
力扣第649题Dota2参议院Java版详细题解原创 2020-12-11 21:35:28 · 327 阅读 · 0 评论