分享
27.移除元素
输入“/”快速插入内容
🟩
27.移除元素
飞书用户8444
2024年10月2日修改
https://leetcode.cn/problems/remove-element/
✅
完成于2024.9.23
主要知识点
快慢指针(单侧双指针)
快慢指针法
又称双指针法,能通过一层
for
循环完成两层
for
循环的任务
关键
合理定义快慢指针的具体含义
类似题目
9.23√-9.24√-10.1-11.1
26.
删除排序数组中的重复项
https://leetcode.cn/problems/remove-duplicates-from-sorted-array/
✅
完成于2024.9.24
感想
循环条件别搞混
left
和
right
两个变量的定义容易导致和其他算法搞混,要记清
分清遍历起点
像这种前后两位比较的,有两种认定方式
•
认为首位不参与比较,循环起点与计数起点都是 1,注意循环中下标
i-1
不要出现下越界
•
认为末位不参与比较,循环起点和计数起点都是 0,注意循环中下标
i+1
不要出现上越界
JavaScript
const, let 与 var
1.
赋值与初始化
:
◦
const
必须
在声明时
初始化
,而且声明的变量
不能重新赋值
(如果其指向对象或数组,则对象属性或数组元素仍然可以改变)
◦
var
与
let
都可以只声明而
不初始化
,稍后再赋值,且声明的变量
可
在其生命周期内重新
赋值
2.
重复声明:
◦
var
:可在同一作用域内
多次声明
同一变量
◦
let
与
const
:
不能
在同一作用域内重复声明同一变量
3.
作用域
:
◦
const
和
let
都是
块级作用域
,变量只在被声明的代码块(如
{}
中)内有效
◦
var
是
函数作用域
,在整个函数内都有效,即使其在某个块中声明
4.
变量提升:
◦
var
:
声明会提升
到函数或全局作用域的顶部,但
初始化不会提升
。也就是说,变量会被提升,但赋值不会。
◦
let
与
const
:声明
不会被提升
,且使用前必须先声明,否则
ReferenceError
5.
全局对象属性:
◦
var
:在全局作用域中声明的
var
变量
会成为全局对象的属性
(如浏览器
window
对象)
◦
let
和
const
:声明的变量
不会成为
全局对象的属性
283.移动零
https://leetcode.cn/problems/move-zeroes/
❗
将完成于2024.10.1