
刷题(Leetcode等~)
文章平均质量分 84
刷题之路。。。(包含Leetcode付费题目(●°u°●) 」
AQin1012
少年有他的山海
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【LeetCode·简单】一行代码解决459. 重复的子字符串——你真的会用 String 的 contains()方法吗?
先看下题目,感兴趣的同学可以先自己去做下题目地址:https://leetcode.cn/problems/repeated-substring-pattern/description/https://leetcode.cn/problems/repeated-substring-pattern/description/只要一行代码为什么把字符串本身拼接一下,掐头去尾,如果还包含一开始的字符串,就证明这个字符串可以通过他的一个它的子串拼成?我们看下下面这个图那么为什么呢(ο´・д・)??如果一个字符串原创 2025-04-08 11:50:59 · 588 阅读 · 0 评论 -
【Leetcode·中等】如何初始化(583.两个字符串的删除操作·Delete Operation for Two Strings)
这两种写法的主要差别其实就是在初始化的时候,可以看下他俩的 dp 数组在代码中的体现就是所以如何定义其实并没有对错的问题,只是在处理逻辑上会有一些些差异~~原创 2025-03-31 13:17:28 · 1145 阅读 · 2 评论 -
【Leetcode·链表】关于到底要不要设置虚拟头节点的那些事儿
为什么把这两道题放在一起,是因为这两道题对于是否需要加虚拟头节点区别比较明显。原创 2025-01-11 16:47:15 · 819 阅读 · 0 评论 -
【LeetCode】14. Implement Queue using Stacks·用栈实现队列
需要将先入后出的顺序改变为先入先出,则需要在每次插入或者每次删除处执行变换顺序的操作,就是将其中一个栈数据弹出,压入另一个栈,实现全部元素顺序的颠倒,这十分符合我在之前文章中提到的优化思路,即最先想到的"暴力破解"方法,于是有了上面👆我那版里的方法。...原创 2022-08-14 12:35:34 · 242 阅读 · 0 评论 -
【LeetCode】6. Invert Binary Tree·翻转二叉树
给你一棵二叉树的根节点 root ,翻转这棵二叉树,并返回其根节点。提示:树中节点数目范围在 [0, 100] 内-100原创 2022-07-11 09:38:56 · 266 阅读 · 0 评论 -
【LeetCode】19. Majority Element·多数元素
这是我碰到官方提供方法最多的一次,,,没有之一=[,,_,,]:3 排序的那个方法中真的太机智叻>>>冒个泡.。oO感慨下 随机化那个方法= = ,呃,建议运气不太行(比如年会只能抽到幸运奖/安慰奖的同学)别试。...原创 2022-08-17 10:41:58 · 225 阅读 · 0 评论 -
【保姆级】今天你排序了吗^ ^/■1道题复习5大排序算法(附详细复杂度分析)
这是一道数组题,按照官方题目的推荐应该要用双指针的。原创 2025-01-16 14:44:31 · 1099 阅读 · 0 评论 -
【LeetCode】20. Diameter Binary Tree· 二叉树的直径
这题需要特别注意的是提示中的:“两结点之间的路径长度是以它们之间边的数目表示”,一定要看清楚示例,我刚开始就一直比答案多1,然后看了题解以后才发现问题。原创 2022-09-21 17:51:08 · 120 阅读 · 0 评论 -
【LeetCode】1. two num·两数之和
给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。 你可以按任意顺序返回答案。......原创 2022-06-23 18:08:57 · 214 阅读 · 0 评论 -
刷题中【括号嵌套版四则运算】
题目描述对获取的字符串进行四则运算,运算符定义如下:【加:+】【减:-】【乘:*】【除:÷】输入描述一行由一对小括号包裹的字符串,括号内由运算符与数字组成(可添加括号进行嵌套计算),如:输入字符串(add 1 2 3 (sub 5 3) ) 先计算 (sub 5 3) ,再计算(add 1 2 3 2)输出描述计算结果(int)示例输入 (add 1 2 3 (sub 5 3) ...原创 2020-04-17 17:30:39 · 423 阅读 · 0 评论 -
【LeetCode】4. Best Time to Buy and Sell Stock·股票买卖最佳时机
给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。 你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利润。 返回你可以从这笔交易中获取的最大利润。如果你不能获取任何利润,返回 0。...原创 2022-07-02 11:21:06 · 209 阅读 · 0 评论 -
【LeetCode】21. Middle of the Linked List· 链表的中间节点
在解题思路中提到的方法是我最直接的解题思路(就是官方的单指针法),后面也有考虑要不要优化下,比如:自定一个数组,每便利一个节点,把该点的值存到对应位置的数组中,结束后,无需再次遍历链表,直接从数组中获取呀对应序号的值即可(也就是官方的数组法),但感觉这个方法相比较单指针法其实也就是空间换时间,在空间比较珍贵的情况下,反而不见得能称为“优化”。快慢指针,,绝了!!!原创 2022-09-28 17:28:00 · 293 阅读 · 0 评论 -
刷题中【单词倒排】
题目描述对字符串中的所有单词进行倒排输入描述输入一行以空格来分隔的句子说明:1.每个单词是以26个大写或小写英文字母构成;2.非构成单词的字符均视为单词间隔符;3.要求倒排后的单词间隔符以一个空格表示;如果原字符串中相邻单词间有多个间隔符时,倒排转换后也只允许出现一个空格间隔符;输出描述输出句子的逆序示例输入edqwa3 4h$ km;k 输出k km h edq...原创 2020-04-27 16:19:32 · 604 阅读 · 0 评论 -
【LeetCode】18. Reverse Linked List·反转链表
个人感觉迭代使用指针相比递归简单点点,将3个指针从链表开端移动到链表结尾,当l链表较长时,节省了很大的空间。原创 2022-08-16 14:57:11 · 243 阅读 · 0 评论 -
【LeetCode】22.Maximum depth of binary tree· 二叉树的最大深度
我们也可以用「广度优先搜索」的方法来解决这道题目,但我们需要对其进行一些修改,此时我们广度优先搜索的队列里存放的是「当前层的所有节点」。每次拓展下一层的时候,不同于广度优先搜索的每次只从队列里拿出一个节点,我们需要将队列里的所有节点都拿出来进行拓展,这样能保证每次拓展完的时候队列里存放的是当前层的所有节点,即我们是一层一层地进行拓展,最后我们用一个变量 ans 来维护拓展的次数,该二叉树的最大深度即为ans。二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。时间复杂度:O(n),n为树的节点个数。原创 2022-09-30 17:05:48 · 168 阅读 · 0 评论 -
【LeetCode】10. Maximum Subarray·最大子数组和
给你一个整数数组 nums ,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。 子数组 是数组中的一个连续部分。原创 2022-07-14 19:35:25 · 313 阅读 · 0 评论 -
【LeetCode】15. First Bad Version· 第一个错误的版本
不幸的是,你的产品的最新版本没有通过质量检测。由于每个版本都是基于之前的版本开发的,所以错误的版本之后的所有版本都是错的。假设你有 n 个版本 [1, 2, ..., n],你想找出导致之后所有版本出错的第一个错误的版本。二分法每进行一次判断,缩小一次查找范围,如果当前版本是正确版本,则将搜索范围缩小至当前版本的后一个版本至结束,如果当前版本是错误版本,则将搜索范围缩小至开始到当前版本,直到集合首尾重合。输入:n = 5, bad = 4。输入:n = 1, bad = 1。所以,4 是第一个错误的版本。.原创 2022-08-14 12:58:51 · 184 阅读 · 0 评论 -
刷题中【小球落地】
题目描述假设一个球从任意高度自由落下,每次落地后反跳回原高度的一半; 再落下, 求它在第5次落地时,共经历多少米?第5次反弹多高?输入描述输入起始高度,int型输出描述分别输出第5次落地时,共经过多少米第5次反弹多高示例输入1输出2.8750.03125代码实现 /** * 运行时间:13ms * 占用内存:9436k * @throws Exception */ private static void m() throws Exception{ Buff原创 2020-05-10 09:44:20 · 306 阅读 · 0 评论 -
【LeetCode】16. RansomNode·赎金信
读取输入单词并遍历其字母,将读取到的字母存入集合,在便利第二个单词的时候,每读取到一个字母,查询集合中是否包含,有的话移除,没有直接返回false,直到第二个单词中的字母全部遍历完成,如果集合为空则返回true,否则返回false 由于magazine 中的每个字符只能在 ransomNote 中使用一次,所以使用list。如果可以,返回 true;输入:ransomNote = "aa", magazine = "aab"输入:ransomNote = "aa", magazine = "ab"...原创 2022-08-14 13:11:51 · 260 阅读 · 0 评论 -
刷题中【字符串匹配】
题目描述判断字符串中的所有字符是否在长场字符串中全部出现过输入描述:两个字符串(第一个为短字符,第二个为长字符)输出描述:true(包含)/false(不包含)示例输入请输入短字符,并按回车结束输入:ab请输入短字符,并按回车结束输入:heheaaaaaaaaaahedlsocb输出trueimport java.util.Scanner;/* * @auth...原创 2020-04-16 08:17:16 · 229 阅读 · 0 评论 -
【LeetCode】8. Binary Search·二分查找
给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。原创 2022-07-12 10:31:45 · 269 阅读 · 0 评论 -
【LeetCode】9. Flood Fill·图像渲染
有一幅以 m x n 的二维整数数组表示的图画 image ,其中 image[i][j] 表示该图画的像素值大小。 你也被给予三个整数 sr , sc 和 newColor 。你应该从像素 image[sr][sc] 开始对图像进行 上色填充 。 为了完成 上色工作 ,从初始像素开始,记录初始坐标的 上下左右四个方向上 像素值与初始坐标相同的相连像素点,接着再记录这四个方向上符合条件的像素点与他们对应 四个方向上 像素值与初始坐标相同的相连像素点,……,重复该过程。将所有有记录的像素点的颜色值改为 new原创 2022-07-13 18:26:36 · 197 阅读 · 0 评论 -
刷题中【计算字符个数】
题目描述计算输入字符在字符串中出现的个数(不区分大小写)输入第一行一个由字母和数字组成的字符串,第二行输入一个字符输出个数示例输入qwertyuqqqq输出5package com.hehe;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamRead...原创 2020-04-16 20:48:55 · 285 阅读 · 0 评论 -
【LeetCode】3. Merge Two Sorted Lists·合并两个有序链表
将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。原创 2022-07-01 15:33:26 · 233 阅读 · 0 评论 -
【LeetCode】17. Longest Palindrome·最长回文串
回文串只有中间的字符可以是单个的,其余的必须是双数,所以我们先遍历输入的字符串,将它存放在Map中(由于区分大小写,不然可以借鉴之前的默认27个字母的数组减少空间复杂度)由于 ASCII 字符数量为128(区分大小写) ,哈希表最多使用128 + 计数 2 = 130,O(130)=O(1)遍历字符串(设字符串长度为n) n + 遍历哈希表n = 2n,O(2n)=O(n)解释: 我们可以构造的最长的回文串是"dccaccd", 它的长度是 7。输入:s = "bb"输入:s = "a"...原创 2022-08-15 14:08:22 · 222 阅读 · 0 评论 -
【LeetCode】5. Valid Palindrome·有效回文
给定一个字符串 s ,验证 s 是否是 回文串 ,只考虑字母和数字字符,可以忽略字母的大小写。 本题中,将空字符串定义为有效的 回文串 。原创 2022-07-05 10:34:00 · 206 阅读 · 0 评论 -
【LeetCode】23.217_Contains Duplicate · 存在重复元素
遍历获取数组中的每一个元素,放入一个以整数字面值为kay,字面值为该值的整数的个数为value的map中,结束遍历后,遍历该map查看是否有value值>1的情况,有则返回true,无则返回false 考虑下优化(。・ω・。)ノ 增加一个Boolean变量,初始化为false,用于确定当前循环是否符合要求,符合的话赋true值并结束循环(存在一个即可返回)输入:nums = [1,1,1,3,3,4,3,2,4,2]时间复杂度:O(N),N为数组元素个数。时间复杂度:O(N),N为数组元素个数。原创 2022-10-26 19:47:08 · 380 阅读 · 0 评论 -
【Leetcode·链表】有咩有递归递不明白的?来看保姆级递归分析!
我们从一道简单题入手~建议都先去做一做建议先去做一做原创 2025-01-12 11:55:00 · 349 阅读 · 0 评论 -
【LeetCode】7. Valid Anagram·有效的字母异位词
给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。 注意:若 s 和 t 中每个字符出现的次数都相同,则称 s 和 t 互为字母异位词。原创 2022-07-08 15:25:09 · 252 阅读 · 0 评论 -
【LeetCode】11. Lowest Common Ancestor of a Binary Search Tree· 二叉搜索树的最近公共祖先
给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。 百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)......原创 2022-07-15 17:44:43 · 212 阅读 · 0 评论 -
【LeetCode】25. 542_01 Matrix · 01矩阵
看了答案后,背着答案写了一版,不超时了(╥﹏╥)int value;int i;int k;i < 4;原创 2022-11-01 17:52:32 · 248 阅读 · 0 评论 -
【LeetCode】2. Valid Parentheses·有效的括号
给定一个只包括 '(',')','{','}','[',']'的字符串 s ,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。原创 2022-06-30 19:47:04 · 238 阅读 · 0 评论 -
【LeetCode】13. Linked List Cycle·环形链表
给你一个链表的头节点 head ,判断链表中是否有环。 如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,评测系统内部使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。...原创 2022-07-26 17:51:26 · 343 阅读 · 0 评论 -
【LeetCode】24. 57_Insert Interval · 插入区间
这是我在正式刷题以来做的第一道中等难度的题,解题思路中的方法其实跟官方提供的更像,也是我看到这道题后的第一反应,但是写代码的时候,忽然有了把所有节点放在一起排序的想法,然后不知不觉画风就变了,于是有了现在的解法,其实在时间空间复杂度上都不如官方提供的,但也是另一种方法,算是给大家提点不一样的思路吧,有更好的方法欢迎讨论交流(*≧ω≦)原创 2022-10-28 15:47:40 · 544 阅读 · 0 评论 -
【LeetCode】12. Balanced Binary Tree·平衡二叉树
给定一个二叉树,判断它是否是高度平衡的二叉树。 本题中,一棵高度平衡二叉树定义为: 一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1 。原创 2022-07-18 20:53:17 · 214 阅读 · 0 评论