力扣刷题笔记
文章平均质量分 94
主要记录本人的力扣刷题笔记
全网同名:代码界的小白
这个作者很懒,什么都没留下…
展开
-
力扣(leetcode)第 237 场周赛,「 依图科技 & 力扣」联合主办。
这里写目录标题1.判断句子是否全为字母句题目描述示例思路Java代码2.雪糕的最大数量题目描述示例思路Java代码3.单线程 CPU题目描述示例思路Java代码4.所有数对按位与结果的异或和题目描述示例思路Java代码总结本场竞赛由「 依图科技 & 力扣」联合主办1.判断句子是否全为字母句题目描述全字母句 指包含英语字母表中每个字母至少一次的句子。给你一个仅由小写英文字母组成的字符串 sentence ,请你判断 sentence 是否为 全字母句 。如果是,返回 true ;否则,返原创 2021-04-19 14:31:46 · 572 阅读 · 0 评论 -
树型数据结构:并查集的简介与使用!
文章目录并查集主要操作初始化查找合并示例代码:冗余连接思路代码并查集并查集,在一些有N个元素的集合应用问题中,我们通常是在开始时让每个元素构成一个单元素的集合,然后按一定顺序将属于同一组的元素所在的集合合并,其间要反复查找一个元素在哪个集合中。这一类问题近几年来反复出现在信息学的国际国内赛题中,其特点是看似并不复杂,但数据量极大,若用正常的数据结构来描述的话,往往在空间上过大,计算机无法承受;即使在空间上勉强通过,运行的时间复杂度也极高,根本就不可能在比赛规定的运行时间(1~3秒)内计算出试题需要的结果原创 2021-01-16 15:37:06 · 383 阅读 · 0 评论 -
力扣(LeetCode)刷题第144和114题:二叉树的遍历和相关操作!
本篇文章给大家分享一下二叉树的相关算法。前言题目地址(难度:简单):二叉树前序遍历题目地址(难度:中等): 二叉树展开为链表一、题目介绍1.1二叉树前序遍历我们都知道二叉树有三种遍历方式,分别是前序遍历、中序遍历和后序遍历,每一种遍历都有不同的性质,大家在后期的做题过程中可能会用到一些遍历的性质,所以请注意这块的性质!三种遍历都是类似的,就是输出的顺序有所不同,会一种基本其余的两种也就会写了。示例 1:输入:root = [1,null,2,3]输出:[1,2,3]示例 2:输入原创 2020-12-22 14:24:31 · 311 阅读 · 1 评论 -
力扣(LeetCode)刷题第122和714题:买卖股票的最大利润值!
文章目录前言一、题目介绍1.1买卖股票的最佳时机 II1.2买卖股票的最佳时机含手续费二、解题思路1.分析题目2.动态规划解题步骤3.代码3.1题目一:买卖股票的最佳时机 II3.2题目二:买卖股票的最佳时机含手续费三、总结前言题目地址(难度:简单):买卖股票的最佳时机 II题目地址(难度:中等): 买卖股票的最佳时机含手续费一、题目介绍1.1买卖股票的最佳时机 II给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更.原创 2020-12-17 15:43:28 · 1027 阅读 · 2 评论 -
Java的Map、HashMap、ArrayList集合实例使用,力扣(LeetCode)刷题第49题:字母异位词分组
文章目录前言一、题目介绍二、解题思路1.分析题目2.官方思路3.代码三、总结前言[题目地址:字母异位词分组]一、题目介绍给定一个字符串数组,将字母异位词组合在一起。字母异位词指字母相同,但排列不同的字符串。示例 1:输入: ["eat", "tea", "tan", "ate", "nat", "bat"]输出:[ ["ate","eat","tea"], ["nat","tan"], ["bat"]]二、解题思路1.分析题目一开始想到了一点思路,但是不知道如何下手,原创 2020-12-14 15:13:31 · 642 阅读 · 17 评论 -
Java的HashMap实例使用,力扣(LeetCode)刷题第33题:搜索旋转排序数组
文章目录前言一、题目介绍二、解题思路1.分析题目2.代码部分三、总结前言[题目地址:搜索旋转排序数组]一、题目介绍给你一个整数数组 nums ,和一个整数 target 。该整数数组原本是按升序排列,但输入时在预先未知的某个点上进行了旋转。(例如数组 [0,1,2,4,5,6,7] 可能变为 [4,5,6,7,0,1,2] )。请你在数组中搜索 target ,如果数组中存在这个目标值,则返回它的索引,否则返回 -1 。示例 1:输入:nums = [4,5,6,7,0,1,2], tar原创 2020-12-11 18:00:34 · 271 阅读 · 0 评论 -
史上最详细深度优先搜索遍历(DFS)代码,力扣(LeetCode)刷题第79题:单词搜索!
文章目录前言一、题目介绍二、解题思路1.分析题目2.思路与算法3.代码部分三、总结前言题目地址:单词搜索一、题目介绍给定一个二维网格和一个单词,找出该单词是否存在于网格中。单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻的单元格。同一个单元格内的字母不允许被重复使用。示例 1:示例:board =[ ['A','B','C','E'], ['S','F','C','S'], ['A','D','E','E']]给定 word原创 2020-12-08 18:12:32 · 858 阅读 · 2 评论 -
力扣(LeetCode)刷题第300题:最长上升子序列(LIS)
文章目录前言一、分析题目二、解题思路1.找出DP状态2.找出DP状态转移方程3.代码部分三、总结前言题目地址:最长上升子序列一、分析题目给定一个无序的整数数组,找到其中最长上升子序列的长度。示例 1:示例:输入: [10,9,2,5,3,7,101,18]输出: 4 解释: 最长的上升子序列是 [2,3,7,101],它的长度是 4。说明:可能会有多种最长上升子序列的组合,你只需要输出对应的长度即可。你算法的时间复杂度应该为 O(n2) 。关于求最长上升子序列类的题目,大家原创 2020-12-02 17:19:36 · 1026 阅读 · 0 评论 -
力扣(LeetCode)刷题第152题:乘积最大子数组
文章目录前言一、分析题目二、解题思路1.找出DP状态2.找出DP状态转移方程3.代码部分三、总结前言题目地址:乘积最大子数组一、分析题目给你一个整数数组 nums ,请你找出数组中乘积最大的连续子数组(该子数组中至少包含一个数字),并返回该子数组所对应的乘积。。示例 1:输入: [2,3,-2,4]输出: 6解释: 子数组 [2,3] 有最大乘积 6。示例 2:输入: [-2,0,-1]输出: 0解释: 结果不能为 2, 因为 [-2,-1] 不是子数组。我觉得你如果做的多了原创 2020-11-24 15:55:13 · 642 阅读 · 0 评论 -
力扣(LeetCode)刷题第64题:最小路径和
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、分析题目二、解题思路1.找出DP状态**2.找出DP状态转移方程**3.代码部分三、总结前言题目地址:最小路径和一、分析题目给定一个包含非负整数的 m x n 网格 grid ,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。说明:每次只能向下或者向右移动一步。输入:grid = [[1,3,1],[1,5,1],[4,2,1]]输出:7解释:因为路径 1→3→1→1→1 的总和最小。原创 2020-11-19 17:58:01 · 726 阅读 · 2 评论