自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(67)
  • 收藏
  • 关注

原创 [Vue3] 滚动条自动滚动到底部

在一个区域会依次打印log,随着log的加长,出现滚动条,而滚动条应该始终保持在最下方。点击回到顶部按钮,可以使滚动条回到最上方。

2024-06-05 15:29:12 763

原创 【JS】可选链运算符和空值合并运算符

`?.`运算符与`.`运算符类似,可以取对象深处的属性或方法,与`.`不同之处在于,当引用为`null`或`undefined`时,不会引起报错。

2024-03-29 15:55:50 444

原创 [React] ref属性

ref即 reference ,是 React 提供给我们的安全访问 DOM 元素或者某个组件实例的句柄。组件被调用时会新建一个该组件的实例,而ref就会指向这个实例。它可以是一个回调函数,这个回调函数会在组件被挂载后立即执行。为了防止内存泄漏,当卸载一个组件的时候,组件里所有的ref都会变为 null。

2024-02-06 15:32:17 2219

原创 [Vue3] ref属性

Vue3中使用setup语法糖之后,在组件或普通dom元素上使用ref属性,可以得到注册元素或子组件的引用。如果用于普通dom元素,引用将是元素本身;如果用于子组件,引用将是子组件的实例。

2024-02-05 14:55:12 699

原创 [Vue3]父子组件相互传值数据同步

父传子:`defineProps`、`defineEmits`子传父:`defineExpose`双向绑定:`v-bind`

2024-02-04 17:09:29 2184

原创 [Vue3] reactive数据改变,视图不更新的问题

在vue文件中,创建响应式对象,赋值后却无法触发响应式,即页面的值不会改变

2024-01-30 13:44:48 1505

原创 父元素flex:1 高度却被子元素撑开的问题

当父元素设置了flex:1的情况下,想在其中子元素超出父元素高度的情况下,产生滚动条,在父元素区域滚动。但是遇到问题,当子元素高度超过父元素高度时,不会在父元素区域产生滚动条,而是超出了父元素区域,在上层产生了滚动条。

2024-01-29 14:42:49 2770

原创 LeetCode 3. 无重复字符的最长子串

对字符串进行遍历,并准备一个指针指向最开始,如果字符串中出现重复的字符,那么需要将指针往前移,找到该重复字符出现的第一个位置,从此处再次开始计算长度。给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。

2022-09-16 18:04:49 121 1

原创 LeetCode 733.图像渲染

为了完成 上色工作 ,从初始像素开始,记录初始坐标的 上下左右四个方向上 像素值与初始坐标相同的相连像素点,接着再记录这四个方向上符合条件的像素点与他们对应 四个方向上 像素值与初始坐标相同的相连像素点,……将所有有记录的像素点的颜色值改为 newColor。你应该从像素 image[sr][sc] 开始对图像进行 上色填充。有一幅以 m x n 的二维整数数组表示的图画 image ,其中 image[i][j] 表示该图画的像素值大小。最后返回 经过上色渲染后的图像。

2022-09-16 17:26:48 116

原创 LeetCode 695. 岛屿的最大面积

岛屿 是由一些相邻的 1 (代表土地) 构成的组合,这里的「相邻」要求两个 1 必须在 水平或者竖直的四个方向上 相邻。你可以假设 grid 的四个边缘都被 0(代表水)包围着。深度优先,先循环网格, 当grid[x][y] === 1时,将当前单元格置为0并上下左右不断递归,计算每个岛屿的大小,然后不断更新最大岛屿。计算并返回 grid 中最大的岛屿面积。如果没有岛屿,则返回面积为 0。给你一个大小为 m x n 的二进制矩阵 grid。岛屿的面积是岛上值为 1 的单元格的数目。

2022-09-16 17:12:00 140

原创 LeetCode 119.杨辉三角形II

https://leetcode.cn/problems/pascals-triangle-ii/给定一个非负索引 rowIndex,返回「杨辉三角」的第 rowIndex 行。在「杨辉三角」中,每个数是它左上方和右上方的数的和。示例:输入: rowIndex = 3输出: [1,3,3,1]思路1:可以生成长度为rowIndex的杨辉三角形,最后一行即为所求思路二:可以将数组设置成滚动的,每次都从数组的前一个状态中得到新的值。...

2022-07-11 18:28:46 136

原创 LeetCode 118. 杨辉三角形

给定一个非负索引 rowIndex,返回「杨辉三角」的第 rowIndex 行。在「杨辉三角」中,每个数是它左上方和右上方的数的和。示例:输入: rowIndex = 3输出: [1,3,3,1]思路:使用二维数组,dp[i][j] = dp[i - 1][j - 1] + dp[i - 1][j]......

2022-07-11 17:41:19 123

原创 LeetCode 91. 解码方式

https://leetcode.cn/problems/decode-ways一条包含字母 A-Z 的消息通过以下映射进行了 编码 :‘A’ -> “1”‘B’ -> “2”…‘Z’ -> “26”要 解码 已编码的消息,所有数字必须基于上述映射的方法,反向映射回字母(可能有多种方法)。例如,“11106” 可以映射为:“AAJF” ,将消息分组为 (1 1 10 6)“KJF” ,将消息分组为 (11 10 6)注意,消息不能分组为 (1 11 06) ,因为 “06” 不能映射为 “F

2022-07-11 16:54:14 60

原创 LeetCode 413.等差数列

https://leetcode.cn/problems/arithmetic-slices如果一个数列 至少有三个元素 ,并且任意两个相邻元素之差相同,则称该数列为等差数列。例如,[1,3,5,7,9]、[7,7,7,7] 和 [3,-1,-5,-9] 都是等差数列。给你一个整数数组 nums ,返回数组 nums 中所有为等差数组的 子数组 个数。子数组 是数组中的一个连续序列。思路一:暴力解法遍历数组的每一个至少三个的子数组,暴力找出所有的等差数组思路二:双指针法(滑动窗口)对于每一组子数组

2022-07-11 15:10:28 1399

原创 LeetCode 42.接雨水

https://leetcode.cn/problems/trapping-rain-water/给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。思路:动态规划对于下标 i 而言,能接到的雨水高度等于左右高度中的最小值,再减去自身柱子的高度那么如何能够得到第 i 点左右高度中的最小值呢?设两个数组,一个存储 i 点及其右边坐标中最大的高度,一个存储 i 点及其左边坐标中最大的高度。而左右高度的最小值,就是 min(left[i], right[

2022-07-11 00:05:43 155

原创 LeetCode 139. 单词拆分

https://leetcode-cn.com/problems/word-break给你一个字符串 s 和一个字符串列表 wordDict 作为字典。请你判断是否可以利用字典中出现的单词拼接出 s 。注意:不要求字典中出现的单词全部都使用,并且字典中的单词可以重复使用例子:输入: s = “leetcode”, wordDict = [“leet”, “code”]输出: true解释: 返回 true 因为 “leetcode” 可以由 “leet” 和 “code” 拼接成。思路:动态规划设d

2022-07-10 23:33:00 90

原创 LeetCode 142. 环形链表II

https://leetcode.cn/problems/linked-list-cycle-ii给定一个链表的头节点 head ,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,评测系统内部使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。如果 pos 是 -1,则在该链表中没有环。注意:pos 不作为参数进行传递,仅仅是为了标识链表的实际情况。不允许修改 链

2022-07-08 22:57:28 96

原创 LeetCode 141. 环形链表

https://leetcode.cn/problems/linked-list-cycle给你一个链表的头节点 head ,判断链表中是否有环。如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,评测系统内部使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。注意:pos 不作为参数进行传递 。仅仅是为了标识链表的实际情况。如果链表中存在环 ,则返回 true 。 否则,返回 false 。思路一:哈希到达每一个节点后,在哈希

2022-07-08 22:18:44 118

原创 LeetCode 74. 搜索二维矩阵

https://leetcode.cn/problems/search-a-2d-matrix编写一个高效的算法来判断 m x n 矩阵中,是否存在一个目标值。该矩阵具有如下特性:每行中的整数从左到右按升序排列。每行的第一个整数大于前一行的最后一个整数。思路:将矩阵展开成一维数组,再利用二分法进行查找:...

2022-07-05 17:03:30 59

原创 LeetCode 34. 在排序数组中查找元素的第一和最后一个位置

https://leetcode.cn/problems/find-first-and-last-position-of-element-in-sorted-array给你一个按照非递减顺序排列的整数数组 nums,和一个目标值 target。请你找出给定目标值在数组中的开始位置和结束位置。如果数组中不存在目标值 target,返回 [-1, -1]。你必须设计并实现时间复杂度为 O(log n) 的算法解决此问题。思路:先用二分查找查找到一个索引值等于target,然后从这个索引开始向左向右寻找与它相

2022-07-05 15:22:55 103

原创 LeetCode 153. 寻找旋转排序数组中的最小值

https://leetcode.cn/problems/find-minimum-in-rotated-sorted-array已知一个长度为 n 的数组,预先按照升序排列,经由 1 到 n 次 旋转 后,得到输入数组。例如,原数组 nums = [0,1,2,4,5,6,7] 在变化后可能得到:若旋转 4 次,则可以得到 [4,5,6,7,0,1,2]若旋转 7 次,则可以得到 [0,1,2,4,5,6,7]注意,数组 [a[0], a[1], a[2], …, a[n-1]] 旋转一次 的结果

2022-07-03 21:48:19 59

原创 LeetCode 374.猜数字大小

https://leetcode.cn/problems/guess-number-higher-or-lower猜数字游戏的规则如下:每轮游戏,我都会从 1 到 n 随机选择一个数字。 请你猜选出的是哪个数字。如果你猜错了,我会告诉你,你猜测的数字比我选出的数字是大了还是小了。你可以通过调用一个预先定义好的接口 int guess(int num) 来获取猜测结果,返回值一共有 3 种可能的情况(-1,1 或 0):-1:我选出的数字比你猜的数字小 pick < num1:我选出的数字比你猜的数

2022-07-02 22:54:38 117

原创 LeetCode 300. 最长递增子序列

链接:https://leetcode.cn/problems/longest-increasing-subsequence给你一个整数数组 nums ,找到其中最长严格递增子序列的长度。子序列 是由数组派生而来的序列,删除(或不删除)数组中的元素而不改变其余元素的顺序。例如,[3,6,2,7] 是数组 [0,3,1,6,2,2,7] 的子序列。......

2022-07-01 22:50:48 1460

原创 LeetCode 35.搜索插入位置

https://leetcode.cn/problems/search-insert-position给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。请必须使用时间复杂度为 O(log n) 的算法。思路:如果可以找到一个索引 i 使 nums[i] = target,则返回i如果不能找到一个索引,那么应该返回索引 i 使 num[i - 1] < target < num[i]综上,需要找一个 i,使num[i - 1] .

2022-07-01 16:52:58 84

原创 LeetCode 621.任务调度器

https://leetcode.cn/problems/task-scheduler给你一个用字符数组 tasks 表示的 CPU 需要执行的任务列表。其中每个字母表示一种不同种类的任务。任务可以以任意顺序执行,并且每个任务都可以在 1 个单位时间内执行完。在任何一个单位时间,CPU 可以完成一个任务,或者处于待命状态。然而,两个 相同种类 的任务之间必须有长度为整数 n 的冷却时间,因此至少有连续 n 个单位时间内 CPU 在执行不同的任务,或者在待命状态。你需要计算完成所有任务所需要的 最短时间 。

2022-06-29 19:12:46 153

原创 LeetCode 860. 柠檬水找零

https://leetcode.cn/problems/lemonade-change在柠檬水摊上,每一杯柠檬水的售价为 5 美元。顾客排队购买你的产品,(按账单 bills 支付的顺序)一次购买一杯。每位顾客只买一杯柠檬水,然后向你付 5 美元、10 美元或 20 美元。你必须给每个顾客正确找零,也就是说净交易是每位顾客向你支付 5 美元。注意,一开始你手头没有任何零钱。给你一个整数数组 bills ,其中 bills[i] 是第 i 位顾客付的账。如果你能给每位顾客正确找零,返回 true ,

2022-06-29 17:27:38 56

原创 LeetCode 134.加油站

https://leetcode.cn/problems/gas-station在一条环路上有 n 个加油站,其中第 i 个加油站有汽油 gas[i] 升。你有一辆油箱容量无限的的汽车,从第 i 个加油站开往第 i+1 个加油站需要消耗汽油 cost[i] 升。你从其中的一个加油站出发,开始时油箱为空。给定两个整数数组 gas 和 cost ,如果你可以绕环路行驶一周,则返回出发时加油站的编号,否则返回 -1 。如果存在解,则 保证 它是 唯一 的。例如:输入: gas = [1,2,3,4,5], c

2022-06-29 16:00:15 112

原创 LeetCode 452.用最少数量的箭引爆气球

https://leetcode.cn/problems/minimum-number-of-arrows-to-burst-balloons有一些球形气球贴在一堵用 XY 平面表示的墙面上。墙面上的气球记录在整数数组 points ,其中points[i] = [xstart, xend] 表示水平直径在 xstart 和 xend之间的气球。你不知道气球的确切 y 坐标。一支弓箭可以沿着 x 轴从不同点 完全垂直 地射出。在坐标 x 处射出一支箭,若有一个气球的直径的开始和结束坐标为 xstart,x

2022-06-29 00:12:15 122

原创 LeetCode 881.救生艇

https://leetcode.cn/problems/boats-to-save-people给定数组 people 。people[i]表示第 i 个人的体重 ,船的数量不限,每艘船可以承载的最大重量为 limit。每艘船最多可同时载两人,但条件是这些人的重量之和最多为 limit。返回 承载所有人所需的最小船数 。思路:贪心算法将people数组有小到大排序,由于每艘船最多载两人,如果最小的和最大的重量大于limit,那么最大的只能自己坐一艘船,以此类推,所以可以使用双指针,分别从最小和最大开始

2022-06-28 22:29:45 196

原创 LeetCode 435.无重叠区间

https://leetcode.cn/problems/non-overlapping-intervals给定一个区间的集合 intervals ,其中 intervals[i] = [starti, endi] 。返回 需要移除区间的最小数量,使剩余区间互不重叠 。例如:输入: intervals = [[1,2],[2,3],[3,4],[1,3]]输出: 1解释: 移除 [1,3] 后,剩下的区间没有重叠。思路:贪心算法使区间无重叠,那么首先每个数组的end进行从小到大的排序,从小到大遍历

2022-06-28 15:34:28 62

原创 LeetCode 455.分发饼干

https://leetcode.cn/problems/assign-cookies假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。对每个孩子 i,都有一个胃口值 g[i],这是能让孩子们满足胃口的饼干的最小尺寸;并且每块饼干 j,都有一个尺寸 s[j] 。如果 s[j] >= g[i],我们可以将这个饼干 j 分配给孩子 i ,这个孩子会得到满足。你的目标是尽可能满足越多数量的孩子,并输出这个最大数值。思路:贪心算法,先对两个数组都进行由大到小的排序,如果想让尽

2022-06-27 23:26:53 50

原创 LeetCode 64. 最小路径和

https://leetcode.cn/problems/minimum-path-sum/给定一个包含非负整数的 m x n 网格 grid ,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。说明:每次只能向下或者向右移动一步。思路:设dp[i][j]表示到达grid[i][j]的路径的最小和,由于只能向下或向右,所以其状态与dp[i - 1][j] ,dp[i][j - 1]有关,取二者之间的最小值即可。状态方程为:dp[i][j] = Math.min(dp[i - 1][j],

2022-06-23 23:28:57 37

原创 LeetCode 416.分割等和子集

https://leetcode.cn/problems/partition-equal-subset-sum/给你一个 只包含正整数 的 非空 数组 nums 。请你判断是否可以将这个数组分割成两个子集,使得两个子集的元素和相等。思路:这个问题可以总结成0-1背包问题。求的nums的总和sum,两个子集元素和相等,即总容量为sum / 2,所以转化为求 i 个值填满容量为sum / 2的背包,恰好能装满。设dp[i][j]表示前i个物品是否能装满容积为j的背包,当dp[i][j]为true时表示恰

2022-06-23 22:31:18 84

原创 LeetCode 343.整数拆分

动态规划

2022-06-23 18:13:44 84

原创 LeetCode 72.编辑距离

动态规划

2022-06-22 17:56:52 43

原创 LeetCode 322.零钱兑换

动态规划

2022-06-22 17:00:58 55

原创 LeetCode 188.买卖股票的最佳时机IV

动态规划

2022-06-21 23:41:41 759

原创 LeetCode 123.买卖股票的最佳时机III

leetcode刷题 动态规划

2022-06-21 23:12:48 1153

原创 LeetCode 120. 三角形最小路径和

LeetCode刷题 动态规划

2022-06-20 18:38:14 72

原创 LeetCode 279.完全平方数

LeetCode刷题 动态规划

2022-06-20 17:19:55 69

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除