Skip to content

Commit 1687a45

Browse files
authored
Update README.md
1 parent 00fa788 commit 1687a45

File tree

1 file changed

+125
-101
lines changed

1 file changed

+125
-101
lines changed

README.md

Lines changed: 125 additions & 101 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,27 @@
1+
const binarySearch = require('./binarySearch')
2+
3+
const arr = new Array(100).fill(0).map(() => Math.round(Math.random() * 100)).sort((a, b) => a - b)
4+
5+
console.log(arr)
6+
const target = Math.round(Math.random() * 100)
7+
console.log('target', target)
8+
const result = binarySearch(arr, target)
9+
console.log('result', arr[result])
10+
11+
function check (result) {
12+
let index = -1
13+
for (let i of arr) {
14+
if (arr[i] === target) {
15+
index = i
16+
console.log(target, arr[i])
17+
break
18+
}
19+
}
20+
const flag = result === index
21+
return flag
22+
}
23+
24+
console.log(check(result) ? 'success' : 'fail')
125
## 前端食堂的 LeetCode 题解仓库
226

327
[![](https://img.shields.io/badge/WeChat-微信群-brightgreen)](#交流)
@@ -33,143 +57,143 @@
3357

3458
## 数组
3559

36-
- [1. 两数之和](https://github.com/Geekhyt/javascript-leetcode/issues/1)
37-
- [剑指 Offer 03. 数组中重复的数字](https://github.com/Geekhyt/javascript-leetcode/issues/60)
38-
- [11. 盛水最多的容器](https://github.com/Geekhyt/javascript-leetcode/issues/2)
39-
- [15. 三数之和](https://github.com/Geekhyt/javascript-leetcode/issues/3)
40-
- [26. 删除排序数组中的重复项](https://github.com/Geekhyt/javascript-leetcode/issues/4)
41-
- [27. 移除元素](https://github.com/Geekhyt/javascript-leetcode/issues/67)
42-
- [66. 加一 ](https://github.com/Geekhyt/javascript-leetcode/issues/5)
43-
- [88. 合并两个有序数组](https://github.com/Geekhyt/javascript-leetcode/issues/72)
44-
- [169. 多数元素](https://github.com/Geekhyt/javascript-leetcode/issues/68)
45-
- [283. 移动零 ](https://github.com/Geekhyt/javascript-leetcode/issues/6)
46-
- [349. 两个数组的交集](https://github.com/Geekhyt/javascript-leetcode/issues/69)
47-
- [217. 存在重复元素](https://github.com/Geekhyt/javascript-leetcode/issues/88)
60+
- [ ] [1. 两数之和](https://github.com/Geekhyt/javascript-leetcode/issues/1)
61+
- [ ] [剑指 Offer 03. 数组中重复的数字](https://github.com/Geekhyt/javascript-leetcode/issues/60)
62+
- [ ] [11. 盛水最多的容器](https://github.com/Geekhyt/javascript-leetcode/issues/2)
63+
- [ ] [15. 三数之和](https://github.com/Geekhyt/javascript-leetcode/issues/3)
64+
- [ ] [26. 删除排序数组中的重复项](https://github.com/Geekhyt/javascript-leetcode/issues/4)
65+
- [ ] [27. 移除元素](https://github.com/Geekhyt/javascript-leetcode/issues/67)
66+
- [ ] [66. 加一 ](https://github.com/Geekhyt/javascript-leetcode/issues/5)
67+
- [ ] [88. 合并两个有序数组](https://github.com/Geekhyt/javascript-leetcode/issues/72)
68+
- [ ] [169. 多数元素](https://github.com/Geekhyt/javascript-leetcode/issues/68)
69+
- [ ] [283. 移动零 ](https://github.com/Geekhyt/javascript-leetcode/issues/6)
70+
- [ ] [349. 两个数组的交集](https://github.com/Geekhyt/javascript-leetcode/issues/69)
71+
- [ ] [217. 存在重复元素](https://github.com/Geekhyt/javascript-leetcode/issues/88)
4872

4973

5074
## 链表
5175

52-
- [19. 删除链表的倒数第 N 个结点](https://github.com/Geekhyt/javascript-leetcode/issues/12)
53-
- [21. 合并两个有序链表](https://github.com/Geekhyt/javascript-leetcode/issues/7)
54-
- [24. 两两交换链表中的节点](https://github.com/Geekhyt/javascript-leetcode/issues/8)
55-
- [141. 环形链表](https://github.com/Geekhyt/javascript-leetcode/issues/9)
56-
- [206. 反转链表](https://github.com/Geekhyt/javascript-leetcode/issues/10)
57-
- [876. 链表的中间结点](https://github.com/Geekhyt/javascript-leetcode/issues/11)
58-
- [160. 相交链表](https://github.com/Geekhyt/javascript-leetcode/issues/61)
59-
- [25. K 个一组翻转链表](https://github.com/Geekhyt/javascript-leetcode/issues/62)
60-
- [83. 删除排序链表中的重复元素](https://github.com/Geekhyt/javascript-leetcode/issues/63)
61-
- [剑指 Offer 06. 从尾到头打印链表](https://github.com/Geekhyt/javascript-leetcode/issues/65)
62-
- [面试题 02.02. 返回倒数第 k 个节点](https://github.com/Geekhyt/javascript-leetcode/issues/66)
76+
- [ ] [19. 删除链表的倒数第 N 个结点](https://github.com/Geekhyt/javascript-leetcode/issues/12)
77+
- [ ] [21. 合并两个有序链表](https://github.com/Geekhyt/javascript-leetcode/issues/7)
78+
- [ ] [24. 两两交换链表中的节点](https://github.com/Geekhyt/javascript-leetcode/issues/8)
79+
- [ ] [141. 环形链表](https://github.com/Geekhyt/javascript-leetcode/issues/9)
80+
- [ ] [206. 反转链表](https://github.com/Geekhyt/javascript-leetcode/issues/10)
81+
- [ ] [876. 链表的中间结点](https://github.com/Geekhyt/javascript-leetcode/issues/11)
82+
- [ ] [160. 相交链表](https://github.com/Geekhyt/javascript-leetcode/issues/61)
83+
- [ ] [25. K 个一组翻转链表](https://github.com/Geekhyt/javascript-leetcode/issues/62)
84+
- [ ] [83. 删除排序链表中的重复元素](https://github.com/Geekhyt/javascript-leetcode/issues/63)
85+
- [ ] [剑指 Offer 06. 从尾到头打印链表](https://github.com/Geekhyt/javascript-leetcode/issues/65)
86+
- [ ] [面试题 02.02. 返回倒数第 k 个节点](https://github.com/Geekhyt/javascript-leetcode/issues/66)
6387

6488
##
6589

66-
- [94. 二叉树的中序遍历](https://github.com/Geekhyt/javascript-leetcode/issues/13)
67-
- [98. 验证二叉搜索树](https://github.com/Geekhyt/javascript-leetcode/issues/75)
68-
- [100. 相同的树](https://github.com/Geekhyt/javascript-leetcode/issues/16)
69-
- [101. 对称二叉树](https://github.com/Geekhyt/javascript-leetcode/issues/17)
70-
- [102. 二叉树的层序遍历](https://github.com/Geekhyt/javascript-leetcode/issues/18)
71-
- [104. 二叉树的最大深度](https://github.com/Geekhyt/javascript-leetcode/issues/19)
72-
- [110. 平衡二叉树](https://github.com/Geekhyt/javascript-leetcode/issues/76)
73-
- [108. 将有序数组转换为二叉搜索树](https://github.com/Geekhyt/javascript-leetcode/issues/79)
74-
- [112. 路径总和](https://github.com/Geekhyt/javascript-leetcode/issues/77)
75-
- [144. 二叉树的前序遍历](https://github.com/Geekhyt/javascript-leetcode/issues/14)
76-
- [145. 二叉树的后序遍历](https://github.com/Geekhyt/javascript-leetcode/issues/15)
77-
- [226. 翻转二叉树](https://github.com/Geekhyt/javascript-leetcode/issues/20)
78-
- [543. 二叉树的直径](https://github.com/Geekhyt/javascript-leetcode/issues/78)
79-
- [617. 合并二叉树](https://github.com/Geekhyt/javascript-leetcode/issues/87)
80-
- [429. N 叉树的层序遍历](https://github.com/Geekhyt/javascript-leetcode/issues/89)
81-
- [590. N 叉树的后序遍历](https://github.com/Geekhyt/javascript-leetcode/issues/90)
82-
- [589. N 叉树的前序遍历](https://github.com/Geekhyt/javascript-leetcode/issues/91)
83-
- [111. 二叉树的最小深度](https://github.com/Geekhyt/javascript-leetcode/issues/92)
84-
- [236. 二叉树的最近公共祖先](https://github.com/Geekhyt/javascript-leetcode/issues/93)
85-
- [297. 二叉树的序列化与反序列化](https://github.com/Geekhyt/javascript-leetcode/issues/94)
90+
- [ ] [94. 二叉树的中序遍历](https://github.com/Geekhyt/javascript-leetcode/issues/13)
91+
- [ ] [98. 验证二叉搜索树](https://github.com/Geekhyt/javascript-leetcode/issues/75)
92+
- [ ] [100. 相同的树](https://github.com/Geekhyt/javascript-leetcode/issues/16)
93+
- [ ] [101. 对称二叉树](https://github.com/Geekhyt/javascript-leetcode/issues/17)
94+
- [ ] [102. 二叉树的层序遍历](https://github.com/Geekhyt/javascript-leetcode/issues/18)
95+
- [ ] [104. 二叉树的最大深度](https://github.com/Geekhyt/javascript-leetcode/issues/19)
96+
- [ ] [110. 平衡二叉树](https://github.com/Geekhyt/javascript-leetcode/issues/76)
97+
- [ ] [108. 将有序数组转换为二叉搜索树](https://github.com/Geekhyt/javascript-leetcode/issues/79)
98+
- [ ] [112. 路径总和](https://github.com/Geekhyt/javascript-leetcode/issues/77)
99+
- [ ] [144. 二叉树的前序遍历](https://github.com/Geekhyt/javascript-leetcode/issues/14)
100+
- [ ] [145. 二叉树的后序遍历](https://github.com/Geekhyt/javascript-leetcode/issues/15)
101+
- [ ] [226. 翻转二叉树](https://github.com/Geekhyt/javascript-leetcode/issues/20)
102+
- [ ] [543. 二叉树的直径](https://github.com/Geekhyt/javascript-leetcode/issues/78)
103+
- [ ] [617. 合并二叉树](https://github.com/Geekhyt/javascript-leetcode/issues/87)
104+
- [ ] [429. N 叉树的层序遍历](https://github.com/Geekhyt/javascript-leetcode/issues/89)
105+
- [ ] [590. N 叉树的后序遍历](https://github.com/Geekhyt/javascript-leetcode/issues/90)
106+
- [ ] [589. N 叉树的前序遍历](https://github.com/Geekhyt/javascript-leetcode/issues/91)
107+
- [ ] [111. 二叉树的最小深度](https://github.com/Geekhyt/javascript-leetcode/issues/92)
108+
- [ ] [236. 二叉树的最近公共祖先](https://github.com/Geekhyt/javascript-leetcode/issues/93)
109+
- [ ] [297. 二叉树的序列化与反序列化](https://github.com/Geekhyt/javascript-leetcode/issues/94)
86110

87111

88112
##
89113

90-
- [20. 有效的括号](https://github.com/Geekhyt/javascript-leetcode/issues/21)
91-
- [84. 柱状图中最大的矩形](https://github.com/Geekhyt/javascript-leetcode/issues/22)
92-
- [155. 最小栈](https://github.com/Geekhyt/javascript-leetcode/issues/23)
93-
- [739. 每日温度](https://github.com/Geekhyt/javascript-leetcode/issues/74)
94-
- [1047. 删除字符串中的所有相邻重复项](https://github.com/Geekhyt/javascript-leetcode/issues/80)
114+
- [ ] [20. 有效的括号](https://github.com/Geekhyt/javascript-leetcode/issues/21)
115+
- [ ] [84. 柱状图中最大的矩形](https://github.com/Geekhyt/javascript-leetcode/issues/22)
116+
- [ ] [155. 最小栈](https://github.com/Geekhyt/javascript-leetcode/issues/23)
117+
- [ ] [739. 每日温度](https://github.com/Geekhyt/javascript-leetcode/issues/74)
118+
- [ ] [1047. 删除字符串中的所有相邻重复项](https://github.com/Geekhyt/javascript-leetcode/issues/80)
95119

96120
## 队列
97121

98-
- [239. 滑动窗口最大值](https://github.com/Geekhyt/javascript-leetcode/issues/95)
122+
- [ ] [239. 滑动窗口最大值](https://github.com/Geekhyt/javascript-leetcode/issues/95)
99123

100124
## 贪心
101125

102-
- [55. 跳跃游戏](https://github.com/Geekhyt/javascript-leetcode/issues/24)
103-
- [455. 分发饼干](https://github.com/Geekhyt/javascript-leetcode/issues/25)
104-
- [860. 柠檬水找零](https://github.com/Geekhyt/javascript-leetcode/issues/26)
126+
- [ ] [55. 跳跃游戏](https://github.com/Geekhyt/javascript-leetcode/issues/24)
127+
- [ ] [455. 分发饼干](https://github.com/Geekhyt/javascript-leetcode/issues/25)
128+
- [ ] [860. 柠檬水找零](https://github.com/Geekhyt/javascript-leetcode/issues/26)
105129

106130
## 回溯
107-
- [17. 电话号码的字母组合](https://github.com/Geekhyt/javascript-leetcode/issues/27)
108-
- [46. 全排列](https://github.com/Geekhyt/javascript-leetcode/issues/28)
109-
- [47. 全排列 II](https://github.com/Geekhyt/javascript-leetcode/issues/32)
110-
- [22. 括号生成](https://github.com/Geekhyt/javascript-leetcode/issues/29)
111-
- [39. 组合总和](https://github.com/Geekhyt/javascript-leetcode/issues/30)
112-
- [40. 组合总和 II](https://github.com/Geekhyt/javascript-leetcode/issues/31)
113-
- [77. 组合](https://github.com/Geekhyt/javascript-leetcode/issues/33)
114-
- [78. 子集](https://github.com/Geekhyt/javascript-leetcode/issues/34)
131+
- [ ] [17. 电话号码的字母组合](https://github.com/Geekhyt/javascript-leetcode/issues/27)
132+
- [ ] [46. 全排列](https://github.com/Geekhyt/javascript-leetcode/issues/28)
133+
- [ ] [47. 全排列 II](https://github.com/Geekhyt/javascript-leetcode/issues/32)
134+
- [ ] [22. 括号生成](https://github.com/Geekhyt/javascript-leetcode/issues/29)
135+
- [ ] [39. 组合总和](https://github.com/Geekhyt/javascript-leetcode/issues/30)
136+
- [ ] [40. 组合总和 II](https://github.com/Geekhyt/javascript-leetcode/issues/31)
137+
- [ ] [77. 组合](https://github.com/Geekhyt/javascript-leetcode/issues/33)
138+
- [ ] [78. 子集](https://github.com/Geekhyt/javascript-leetcode/issues/34)
115139

116140
## 字符串
117-
- [125. 验证回文串](https://github.com/Geekhyt/javascript-leetcode/issues/35)
118-
- [344. 反转字符串](https://github.com/Geekhyt/javascript-leetcode/issues/36)
119-
- [415. 字符串相加](https://github.com/Geekhyt/javascript-leetcode/issues/37)
120-
- [58. 最后一个单词的长度](https://github.com/Geekhyt/javascript-leetcode/issues/74)
121-
- [409. 最长回文串](https://github.com/Geekhyt/javascript-leetcode/issues/81)
141+
- [ ] [125. 验证回文串](https://github.com/Geekhyt/javascript-leetcode/issues/35)
142+
- [ ] [344. 反转字符串](https://github.com/Geekhyt/javascript-leetcode/issues/36)
143+
- [ ] [415. 字符串相加](https://github.com/Geekhyt/javascript-leetcode/issues/37)
144+
- [ ] [58. 最后一个单词的长度](https://github.com/Geekhyt/javascript-leetcode/issues/74)
145+
- [ ] [409. 最长回文串](https://github.com/Geekhyt/javascript-leetcode/issues/81)
122146

123147
## 排序
124-
- [冒泡排序](https://github.com/Geekhyt/javascript-leetcode/issues/39)
125-
- [插入排序](https://github.com/Geekhyt/javascript-leetcode/issues/40)
126-
- [选择排序](https://github.com/Geekhyt/javascript-leetcode/issues/41)
127-
- [归并排序](https://github.com/Geekhyt/javascript-leetcode/issues/42)
128-
- [快速排序](https://github.com/Geekhyt/javascript-leetcode/issues/43)
129-
- [堆排序](https://github.com/Geekhyt/javascript-leetcode/issues/44)
130-
- [剑指 Offer 40. 最小的k个数](https://github.com/Geekhyt/javascript-leetcode/issues/82)
148+
- [ ] [冒泡排序](https://github.com/Geekhyt/javascript-leetcode/issues/39)
149+
- [ ] [插入排序](https://github.com/Geekhyt/javascript-leetcode/issues/40)
150+
- [ ] [选择排序](https://github.com/Geekhyt/javascript-leetcode/issues/41)
151+
- [ ] [归并排序](https://github.com/Geekhyt/javascript-leetcode/issues/42)
152+
- [ ] [快速排序](https://github.com/Geekhyt/javascript-leetcode/issues/43)
153+
- [ ] [堆排序](https://github.com/Geekhyt/javascript-leetcode/issues/44)
154+
- [ ] [剑指 Offer 40. 最小的k个数](https://github.com/Geekhyt/javascript-leetcode/issues/82)
131155

132156
## DFS
133157

134-
- [200. 岛屿数量](https://github.com/Geekhyt/javascript-leetcode/issues/64)
158+
- [ ] [200. 岛屿数量](https://github.com/Geekhyt/javascript-leetcode/issues/64)
135159

136160
## LRU
137161

138-
- [146. LRU 缓存机制](https://github.com/Geekhyt/javascript-leetcode/issues/86)
162+
- [ ] [146. LRU 缓存机制](https://github.com/Geekhyt/javascript-leetcode/issues/86)
139163

140164
## 位运算
141165

142-
- [136. 只出现一次的数字](https://github.com/Geekhyt/javascript-leetcode/issues/83)
143-
- [52. N皇后 II](https://github.com/Geekhyt/javascript-leetcode/issues/84)
166+
- [ ] [136. 只出现一次的数字](https://github.com/Geekhyt/javascript-leetcode/issues/83)
167+
- [ ] [52. N皇后 II](https://github.com/Geekhyt/javascript-leetcode/issues/84)
144168

145169
## 二分查找
146-
- [704. 二分查找](https://github.com/Geekhyt/javascript-leetcode/issues/85)
147-
- [33. 搜索旋转排序数组](https://github.com/Geekhyt/javascript-leetcode/issues/70)
148-
- [35. 搜索插入位置](https://github.com/Geekhyt/javascript-leetcode/issues/71)
170+
- [ ] [704. 二分查找](https://github.com/Geekhyt/javascript-leetcode/issues/85)
171+
- [ ] [33. 搜索旋转排序数组](https://github.com/Geekhyt/javascript-leetcode/issues/70)
172+
- [ ] [35. 搜索插入位置](https://github.com/Geekhyt/javascript-leetcode/issues/71)
149173

150174
## 动态规划
151-
- [70. 爬楼梯](https://github.com/Geekhyt/javascript-leetcode/issues/38)
152-
- [一口气团灭 6 道股票算法](https://github.com/Geekhyt/javascript-leetcode/issues/45)
153-
- 121.买卖股票的最佳时机
154-
- 122.买卖股票的最佳时机 II
155-
- 123.买卖股票的最佳时机 III
156-
- 188.买卖股票的最佳时机 IV
157-
- 309.最佳买卖股票时机含冷冻期
158-
- 714.买卖股票的最佳时机含手续费
159-
- [198. 打家劫舍](https://github.com/Geekhyt/javascript-leetcode/issues/46)
160-
- [5. 最长回文子串](https://github.com/Geekhyt/javascript-leetcode/issues/47)
161-
- [53. 最大子序和](https://github.com/Geekhyt/javascript-leetcode/issues/48)
162-
- [300. 最长递增子序列](https://github.com/Geekhyt/javascript-leetcode/issues/49)
163-
- [32. 最长有效括号](https://github.com/Geekhyt/javascript-leetcode/issues/50)
164-
- [64. 最小路径和](https://github.com/Geekhyt/javascript-leetcode/issues/51)
165-
- [62. 不同路径](https://github.com/Geekhyt/javascript-leetcode/issues/52)
166-
- [221. 最大正方形](https://github.com/Geekhyt/javascript-leetcode/issues/53)
167-
- [72. 编辑距离](https://github.com/Geekhyt/javascript-leetcode/issues/54)
168-
- [322. 零钱兑换](https://github.com/Geekhyt/javascript-leetcode/issues/55)
169-
- [剑指 Offer 42. 连续子数组的最大和](https://github.com/Geekhyt/javascript-leetcode/issues/56)
170-
- [139. 单词拆分](https://github.com/Geekhyt/javascript-leetcode/issues/57)
171-
- [887. 鸡蛋掉落](https://github.com/Geekhyt/javascript-leetcode/issues/58)
172-
- [279. 完全平方数](https://github.com/Geekhyt/javascript-leetcode/issues/59)
175+
- [ ] [70. 爬楼梯](https://github.com/Geekhyt/javascript-leetcode/issues/38)
176+
- [ ] [一口气团灭 6 道股票算法](https://github.com/Geekhyt/javascript-leetcode/issues/45)
177+
- [ ] 121.买卖股票的最佳时机
178+
- [ ] 122.买卖股票的最佳时机 II
179+
- [ ] 123.买卖股票的最佳时机 III
180+
- [ ] 188.买卖股票的最佳时机 IV
181+
- [ ] 309.最佳买卖股票时机含冷冻期
182+
- [ ] 714.买卖股票的最佳时机含手续费
183+
- [ ] [198. 打家劫舍](https://github.com/Geekhyt/javascript-leetcode/issues/46)
184+
- [ ] [5. 最长回文子串](https://github.com/Geekhyt/javascript-leetcode/issues/47)
185+
- [ ] [53. 最大子序和](https://github.com/Geekhyt/javascript-leetcode/issues/48)
186+
- [ ] [300. 最长递增子序列](https://github.com/Geekhyt/javascript-leetcode/issues/49)
187+
- [ ] [32. 最长有效括号](https://github.com/Geekhyt/javascript-leetcode/issues/50)
188+
- [ ] [64. 最小路径和](https://github.com/Geekhyt/javascript-leetcode/issues/51)
189+
- [ ] [62. 不同路径](https://github.com/Geekhyt/javascript-leetcode/issues/52)
190+
- [ ] [221. 最大正方形](https://github.com/Geekhyt/javascript-leetcode/issues/53)
191+
- [ ] [72. 编辑距离](https://github.com/Geekhyt/javascript-leetcode/issues/54)
192+
- [ ] [322. 零钱兑换](https://github.com/Geekhyt/javascript-leetcode/issues/55)
193+
- [ ] [剑指 Offer 42. 连续子数组的最大和](https://github.com/Geekhyt/javascript-leetcode/issues/56)
194+
- [ ] [139. 单词拆分](https://github.com/Geekhyt/javascript-leetcode/issues/57)
195+
- [ ] [887. 鸡蛋掉落](https://github.com/Geekhyt/javascript-leetcode/issues/58)
196+
- [ ] [279. 完全平方数](https://github.com/Geekhyt/javascript-leetcode/issues/59)
173197

174198

175199
## 交流

0 commit comments

Comments
 (0)