...大约 9 分钟
...小于 1 分钟
回文数(简)
给你一个整数 x
,如果 x
是一个回文整数,返回 true
;否则,返回 false
。
回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。
- 例如,
121
是回文,而123
不是。
示例 1:
输入:x = 121
输出:true
...大约 9 分钟
...小于 1 分钟
...小于 1 分钟
...小于 1 分钟
引言
位运算,对于许多开发者来说,可能是一个神秘而强大的领域。在JavaScript中,位运算可以让我们以极低的成本执行一些基础的操作,如切换标志、颜色转换等。在这篇文章中,我们将深入探讨JavaScript中的位运算,了解其工作原理,并通过一些实际的例子来展示其强大之处。
位运算基础
位运算是在二进制位级别上进行操作的。在JavaScript中,所有的数字都是以64位浮点数的形式存储的,但位运算会将数字转换为32位整数来进行操作。
常用的位运算符
- 按位与(AND)
&
:对两个数进行按位与操作,只有在相应的位上都为1时,结果位才为1。 - 按位或(OR)
|
:对两个数进行按位或操作,只要在相应的位上有一个为1,结果位就为1。 - 按位异或(XOR)
^
:对两个数进行按位异或操作,只有在相应的位上不同时,结果位才为1。 - 按位非(NOT)
~
:对一个数进行按位非操作,将其所有位取反。 - 左移(LEFT SHIFT)
<<
:将数字的二进制位向左移动指定的位数。 - 有符号右移(RIGHT SHIFT)
>>
:将数字的二进制位向右移动指定的位数,保留符号位。 - 无符号右移(ZERO-FILL RIGHT SHIFT)
>>>
:将数字的二进制位向右移动指定的位数,左侧用0填充。
...大约 4 分钟
...大约 12 分钟
引言
在计算机科学中,堆(Heap)是一种特殊的完全二叉树,常用于实现优先队列。堆分为两种类型:最大堆(Max-Heap)和最小堆(Min-Heap)。在最大堆中,任何一个父节点的值都大于或等于其子节点的值;而在最小堆中,任何一个父节点的值都小于或等于其子节点的值。堆通常用于解决各种算法问题,如堆排序、优先队列等。
堆的基础操作
在JavaScript中,我们可以使用数组来表示堆。下面是一些基本的堆操作:
1. 初始化堆
class Heap {
constructor() {
this.heap = [];
}
}
...大约 2 分钟