- 博客(32)
- 收藏
- 关注
原创 LeetCode 84:柱状图中的最大矩形
给定n个非负整数,用来表示柱状图中各个柱子的高度。每个柱子彼此相邻,且宽度为 1。求在该柱状图中,能够勾勒出来的矩形的最大面积。10最大的矩形为图中红色区域,面积为 104。
2024-01-10 17:59:57 578
原创 LeetCode 42:接雨水
给定n个非负整数表示每个宽度为1的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。6上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图,在这种情况下,可以接 6 个单位的雨水(蓝色部分表示雨水)。9。
2024-01-07 08:46:03 605
原创 LeetCode 1475:商品折扣后的最终价格
给你一个数组prices,其中prices[i]是商店里第i件商品的价格。商店里正在进行促销活动,如果你要买第i件商品,那么你可以得到与prices[j]相等的折扣,其中j是满足j > i且的,如果没有满足条件的j,你将没有任何折扣。请你返回一个数组,数组中第i个元素是折扣后你购买商品i最终需要支付的价格。商品 0 的价格为 price[0]=8 ,你将得到 prices[1]=4 的折扣,所以最终价格为 8 - 4 = 4。
2024-01-05 03:23:29 504
原创 LeetCode 2:两数相加
给你两个的链表,表示两个非负的整数。它们每位数字都是按照的方式存储的,并且每个节点只能存储数字。请你将两个数相加,并以相同形式返回一个表示和的链表。你可以假设除了数字 0 之外,这两个数都不会以 0 开头。
2024-01-04 16:19:49 558
原创 LeetCode 82:删除排序链表中的重复元素 II
给定一个已排序的链表的头head删除原始链表中所有重复数字的节点,只留下不同的数字。返回已排序的链表。
2024-01-03 14:24:39 1029
原创 Mac 彻底删除 node 和 npm
例:安装的是 v16.20.0,使用brew uninstall node@16 --force 进行删除;brew uninstall node@版本号 --force。通过 node -v 查看版本好。
2024-01-02 16:56:18 3457
原创 LeetCode 32:最长有效括号
给你一个只包含'('和')'的字符串,找出最长有效(格式正确且连续)括号子串的长度。s = "(()"2最长有效括号子串是 "()"4最长有效括号子串是 "()()"s = ""0'('')'
2024-01-02 15:27:59 526
原创 LeetCode 224:基本计算器
给你一个字符串表达式s,请你实现一个基本计算器来计算并返回它的值。注意:不允许使用任何将字符串作为数学表达式计算的内置函数,比如eval()。
2024-01-01 20:57:59 643
原创 LeetCode 394:字符串解码
给定一个经过编码的字符串,返回它解码后的字符串。编码规则为:,表示其中方括号内部的正好重复k次。注意k保证为正整数。你可以认为输入字符串总是有效的;输入字符串中没有额外的空格,且输入的方括号总是符合格式要求的。此外,你可以认为原始数据不包含数字,所有的数字只表示重复的次数k,例如不会出现像3a或2[4]的输入。
2023-12-31 20:08:24 462
原创 LeetCode 1614:括号的最大嵌套深度
如果字符串满足以下条件之一,则可以称之为,可以简写为"""("")"ABABAB(A)A类似地,可以定义任何有效括号字符串S的depth(S)C"("ABA"""()()""()(()())"都是(嵌套深度分别为 0、1、2),而")(""(()"都不是。给你一个s,返回该字符串的s。)/4))+1"3数字 8 在嵌套的 3 层括号中。
2023-12-30 16:40:46 596
原创 LeetCode 155:最小栈
设计一个支持pushpoptop操作,并能在常数时间内检索到最小元素的栈。实现MinStackMinStack()void pop()int top()--> 返回 -3.--> 返回 0.--> 返回 -2.topgetMinpushpoptopgetMin3 * 104。
2023-12-28 15:56:32 420
原创 LeetCode 150:逆波兰表达式求值
给你一个字符串数组tokens,表示一个根据表示的算术表达式。请你计算该表达式。返回一个表示表达式值的整数。'+''-''*''/'9该算式转化为常见的中缀算术表达式为:((2 + 1) * 3) = 96该算式转化为常见的中缀算术表达式为:(4 + (13 / 5)) = 622该算式转化为常见的中缀算术表达式为:= 17 + 5= 22"+""-""*""/"逆波兰表达式是一种后缀表达式,所谓后缀就是指算符写在后面。
2023-12-27 16:27:13 1037
原创 LeetCode 71:简化路径
给你一个字符串path,表示指向某一文件或目录的 Unix 风格(以'/'开头),请你将其转化为更加简洁的规范路径。在 Unix 风格的文件系统中,一个点()表示当前目录本身;此外,两个点 (..) 表示将目录切换到上一级(指向父目录);两者都可以是复杂相对路径的组成部分。任意多个连续的斜杠(即,'//')都被视为单个斜杠'/'。对于此问题,任何其他格式的点(例如,'...')均被视为文件/目录名称。请注意,返回的'/''/''/''.''..'返回简化后得到的。"/home"
2023-12-23 22:34:55 386
原创 LeetCode 876:链表的中间结点
给你单链表的头结点head,请你找出并返回链表的中间结点。如果有两个中间结点,则返回第二个中间结点。[3,4,5]链表只有一个中间结点,值为 3。[4,5,6]该链表有两个中间结点,值分别为 3 和 4 ,返回第二个结点。
2023-12-21 17:44:51 357
原创 LeetCode 328:奇偶链表#
给定单链表的头节点head,将所有索引为奇数的节点和索引为偶数的节点分别组合在一起,然后返回重新排序的列表。节点的索引被认为是节点的索引为,以此类推。请注意,偶数组和奇数组内部的相对顺序应该与输入时保持一致。你必须在O(1)的额外空间复杂度和O(n)的时间复杂度下解决这个问题。n ==
2023-12-20 23:07:52 377
原创 LeetCode 237:删除链表的节点#
有一个单链表的head,我们想删除它其中的一个节点node。给你一个需要删除的节点node。你将第一个节点head。链表的所有值都是,并且保证给定的节点node不是链表中的最后一个节点。删除给定的节点。注意,删除节点并不是指从内存中删除它。nodenodeheadnodenode[4,1,9]指定链表中值为 5 的第二个节点,那么在调用了你的函数之后,该链表应变为 4 -> 1 -> 9[4,5,9]
2023-12-19 18:09:27 409
原创 LeetCode 92 :反转链表 II
给你单链表的头指针head和两个整数left和right,其中。请你反转从位置left到位置right的链表节点,返回。[5]
2023-12-14 00:38:45 578
原创 LeetCode 21:合并两个有序链表
将两个升序链表合并为一个新的链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。[][0]l2。
2023-12-12 20:21:00 337
原创 LeetCode 3:无重复字符的最长子串
给定一个字符串s,请你找出其中不含有重复字符的的长度。3因为无重复字符的最长子串是 "abc",所以其长度为 3。1因为无重复字符的最长子串是 "b",所以其长度为 1。3因为无重复字符的最长子串是 "wke",所以其长度为 3。请注意,你的答案必须是的长度,"pwke"是一个子序列,不是子串。
2023-12-11 01:00:01 329
原创 LeetCode 24:两两交换链表中的节点
给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换)。
2023-12-01 23:03:59 436
原创 LeetCode 19:删除链表的倒数第 N 个结点
给你一个链表,删除链表的倒数第n个结点,并且返回链表的头结点。[1,2,3,5][][1]你能尝试使用一趟扫描实现吗?
2023-11-30 22:36:35 609
原创 LeetCode 27:移除元素
给你一个数组nums和一个值val,你需要移除所有数值等于val的元素,并返回移除后数组的新长度。不要使用额外的数组空间,你必须仅使用O(1)额外空间并。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。为什么返回数值是整数,但输出的答案是数组呢?请注意,输入数组是以方式传递的,这意味着在函数里修改输入数组对于调用者是可见的。函数应该返回新的长度 2, 并且 nums中的前两个元素均为。你不需要考虑数组中超出新长度后面的元素。
2023-11-29 19:40:35 377
原创 Mac JDK环境变量配置 及 JDK多版本切换
JDK(Java Development Kit)是 Java 编程语言的软件开发工具包。它包含了用于开发、编译、调试和运行 Java 应用程序的工具和库。JDK 是 Java 应用程序开发的基础。
2023-11-28 16:50:27 3584
原创 LeetCode 26:删除有序数组中的重复项
给你一个的数组nums,请你删除重复出现的元素,使每个元素,返回删除后数组的新长度。元素的应该保持。然后返回nums中唯一元素的个数。考虑nums的唯一元素的数量为knumsnumsknumsnumsnumsk系统会用下面的代码来测试你的题解:// 输入数组// 长度正确的期望答案// 调用i < k;i++) {如果所有断言都通过,那么您的题解将被。函数应该返回新的长度 2,并且原数组nums的前两个元素被修改为 1, 2。不需要考虑数组中超出新长度后面的元素。
2023-11-28 15:33:33 855
原创 LeetCode 283:移动零
给定一个数组nums,编写一个函数将所有0移动到数组的末尾,同时保持非零元素的相对顺序。,必须在不复制数组的情况下原地对数组进行操作。
2023-11-27 22:34:11 378
原创 第一门编程语言该怎么选择,C、C++ Java、Python?
✦选择第一门编程语言对于准备进入计算机领域的程序员来说是一个重要的决策,因为它将为你打下编程基础并影响你未来的学习和职业发展。
2023-09-12 15:24:07 113
原创 Java面试题大全
哈希冲突,也叫哈希碰撞,指的是两个不同的值,计算出了相同的hash,也就是两个不同的数据计算出同一个下标,通常解决方案有:拉链法,把哈希碰撞的元素指向一个链表开放寻址法,把产生冲突的哈希值作为值,再进行哈希运算,直到不冲突再散列法,就是换一种哈希算法重来一次建立公共溢出区,把哈希表分为基本表和溢出表,将产生哈希冲突的元素移到溢出表。
2023-08-28 22:57:08 277
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人